以前看了一篇使用命令行构建 maven 多模块项目, 比较麻烦, 今天试着用 eclipse 构建, 应该比较简单
一. 创建 parent
创建 maven 项目
配置, 注意 Packaging 的选项 pom. 主要用于管理依赖.
修改 pom.xml 文件, 添加项目所用依赖以及版本.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.sunny</groupId>
<artifactId>sunny</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<description>parent pom</description>
<!-- 集中管理版本号 -->
<properties>
<commons-lang3.version>3.3.2</commons-lang3.version>
</properties>
<!-- 只声明依赖的包和版本,并不实际依赖,这样子模块中只要声明 groupId 和 artifactId 即可使用, 便于统一版本号 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- 资源文件拷贝插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<!-- 声明插件,本项目并不依赖,供子项目依赖使用 -->
<pluginManagement>
<plugins>
<!-- 配置Tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
<!--配置Jetty插件-->
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<span style="white-space:pre"> </span><version>6.2.16</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
二. 创建工具类工程
此工程主要管理项目中经常用到的一些工具类, 以 jar 包的形式发布,
配置工程, 选择 parent, 注意, 选在 parent project 时最好用下面的 Browes... 按钮进行选择, 不然又可能识别不了, 无法读取到 parent 中的信息
修改 pom.xml , 添加自己所需要的依赖, 如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sunny</groupId>
<artifactId>sunny</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>sunny-common</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
</dependencies>
</project>
三.创建一个聚合工程
创建一个聚合工程, 用于管理各个模块, 此工程可能依赖 common 工具类
修改 pom.xml 文件, 添加依赖(主要是项目依赖, 例如 common 项目)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sunny</groupId>
<artifactId>sunny</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>sunny-manager</artifactId>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>com.sunny</groupId>
<artifactId>sunny-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
四. 创建 POJO 模块
此时, sunny-manager 的 pom.xml 中会自动添加如下
此模块暂时不依赖任何jar包
五. 创建 sunny-manager-dao模块
创建过程与创建 POJO 模块类似.
添加此模块依赖的项目和 jar 包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sunny</groupId>
<artifactId>sunny-manager</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>sunny-manager-dao</artifactId>
<description>持久层</description>
<dependencies>
<dependency>
<groupId>com.sunny</groupId>
<artifactId>sunny-manager-pojo</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
</dependency>
<!-- MySql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
</dependency>
</dependencies>
</project>
六. 创建 sunny-manager-service 模块
与 第四, 第五步类似
修改 pom.xml 文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sunny</groupId>
<artifactId>sunny-manager</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>sunny-manager-service</artifactId>
<description>业务层</description>
<dependencies>
<dependency>
<groupId>com.sunny</groupId>
<artifactId>sunny-manager-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</dependency>
</dependencies>
</project>
七. 创建 sunny-manager-web模块
注意. 此处是需是 war 包, 但是由于没有 web.xml 文件, 所以 pom.xml 会报错, 所以要手动创建 web.xml
修改 pom.xml 文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.sunny</groupId>
<artifactId>sunny-manager</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>sunny-manager-web</artifactId>
<packaging>war</packaging>
<!-- 依赖管理 -->
<dependencies>
<dependency>
<groupId>com.sunny</groupId>
<artifactId>sunny-manager-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- JSP相关 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- 文件上传组件 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
</dependencies>
</project>
因为是 war 包, 必须创建 web.xml 文件, 包括 WEB-INF 都是手动创建的
内容如下(随便找一个 web.xml 文件复制即可)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
八. 测试运行
在 sunny-manager-web 的 webapps 目录下 创建 index.jsp 内容如下
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>
在 sunny-manager 中添加 jetty 依赖
<build>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</build>
测试方法一:
在eclipse 中安装 jetty 插件, run with jetty, 运行的是 sunny-manager-web 项目
访问http://localhost:8083/sunny-manager-web/ 即可
测试方法二
使用 maven 中的 tomcat 插件运行, 运行之前需要将 sunny , sunny-common 安装到本地仓库, install 命令
然后执行 tomcat7:run 即可
在浏览器输入http://localhost:8083/sunny-manager/
分享到:
相关推荐
通过这种方式,Eclipse和Maven结合使用,可以帮助开发者轻松地创建和管理复杂的多模块项目。这种方式有利于代码的分层和解耦,使得团队成员能专注于各自模块的开发,同时保证了整体项目的构建一致性。在实际开发中,...
【构建Maven的SpringMVC项目】在IT行业中,使用Eclipse作为开发工具,结合Maven构建SpringMVC项目是常见的实践。Maven是一个强大的项目管理和依赖管理工具,它可以帮助开发者自动化构建过程,解决jar包版本不一致的...
本篇文章将详细探讨"Maven多模块项目构建过程",并结合提供的资源"搭建maven多工程模块步骤",来深入理解如何创建和管理一个包含多个子项目的Maven工程。 1. Maven多模块项目概述: Maven多模块项目是指由一个父...
2. **Eclipse开发工具**:Eclipse是Java开发者广泛使用的集成开发环境,它支持Maven插件,可以方便地创建、管理和构建Maven项目。在Eclipse中,你可以通过“New -> Maven Project”创建新的Maven项目,并选择...
通过以上步骤,你便成功地使用Eclipse构建了一个Maven Web项目。在实际开发中,你可能会遇到更多细节问题,例如解决依赖冲突、配置Maven插件以实现自动化构建和测试等。理解Maven的生命周期和构建过程,以及熟练掌握...
使用Eclipse搭建Maven多模块项目(构建父子项目) Maven是一款流行的Java项目管理和构建工具,Eclipse是最流行的Java集成开发环境(IDE)。在实际项目中,通常会使用Maven来管理项目的依赖关系和构建过程,而...
本文将深入探讨在Eclipse环境下使用Gradle进行多模块项目构建的知识点。 首先,`Eclipse`是一款广泛应用的Java集成开发环境(IDE),它提供了丰富的功能,包括代码编辑、调试、版本控制等,支持多种编程语言。然而...
8. **多模块项目支持**:对于包含多个子项目的大型项目,插件能很好地处理依赖关系和构建顺序。 在安装了 **eclipse-maven3-plugin** 后,开发者可以更高效地管理项目依赖,简化构建流程,提高开发效率。同时,由于...
在开发大型Java项目时,Maven多模块结构的使用非常常见,它可以帮助我们更好地管理和组织代码。然而,当项目变得庞大时,编译速度可能会成为一个显著的问题。以下是一些优化Maven多模块项目编译速度的策略: 1. **...
- **解决方案**:使用Eclipse构建Maven项目,避免此类问题。 - **问题2**:`WEB-INF`下的`classes`文件夹在转换为`target/classes`后,依然存在编译问题。 - **解决方案**:确保所有源代码文件夹和输出文件夹的...
### Eclipse 创建多模块Maven项目的详细步骤 在软件开发领域,Maven作为一种自动化构建工具,因其强大的依赖管理和项目构建功能而被广泛采用。而在大型项目或微服务架构中,经常需要构建多模块项目来实现良好的代码...
本教程将聚焦于使用Eclipse集成开发环境(IDE)创建一个基于SSM(Spring、Struts2、MyBatis)框架和MySQL数据库的多模块Maven项目。SSM是Java Web开发中常用的三大组件,它们各自负责应用程序的不同层面:Spring管理...
对于包含多个子模块的Maven项目,Eclipse提供了良好的支持,可以在一个父项目下管理所有子模块,方便进行整体构建和调试。 **8. Maven构建配置** 用户可以在Eclipse的“Run Configurations”中为特定的Maven目标...
7. **聚合项目支持**:对于包含多个模块的Maven聚合项目,M2E能够有效地管理各个子项目,提供统一的构建和调试环境。 8. **配置同步**:当Eclipse项目设置与Maven POM不一致时,M2E可以进行同步,保持两者的一致性...
Maven构建多模块项目是软件开发中的常见实践,尤其在大型复杂项目中,通过模块化管理可以提高代码组织的清晰度和可维护性。Maven是一个强大的项目管理和构建工具,它通过POM(Project Object Model)文件来管理项目...
"eclipse+maven+ssh"就是一个常见的组合,其中eclipse是Java开发的集成开发环境,maven是项目管理和构建工具,而ssh则是三个流行框架的简称,包括Spring、SpringMVC和Hibernate。下面我们将详细探讨这些知识点。 1....