Maven的聚合工程(多模块工程)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Maven的聚合⼯程(多模块⼯程)在开发2个以上模块的时候,每个模块都是⼀个 Maven Project。

⽐如搜索平台,学习平台,考试平台。

开发的时候可以⾃⼰管⾃⼰独⽴编译,测试,运⾏。

但如果想要将他们整合起来,我们就需要⼀个聚合⼯程。

(1) ⽗模块的创建.
⽗模块⼀般承担聚合模块和统⼀管理依赖的作⽤,没有实际代码和资源⽂件.
⽗模块就是创建⼀个普通的 Maven Project , 此处省略.
(2) ⼦模块的创建
①⼦模块需要创建为Maven Module项⽬.
②选择该⼦模块所属的⽗模块
打包⽅式 : web 项⽬需要打 war 包,其他的⽐如 dao 层, service 层, entity 层都可以打 jar 包.
实际的⽬录结构:⼦模块其实是包含在⽗模块⽂件夹⾥⾯的.
(4) ⽗模块的 pom ⽂件.
<modules>
<module>PYG-pojo</module>
<module>PYG-dao</module>
<module>PYG-Commons</module>
...
</modules>
(5) ⼦模块的 pom ⽂件
指明它的⽗模块是谁
<modelVersion>4.0.0</modelVersion>
<!-- 指定它的⽗模块是谁 -->
<parent>
<groupId>.pyg</groupId>
<artifactId>PYG-Parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<!-- 当前⼦模块的名字 -->
<artifactId>PYG-dao</artifactId>
(6) 聚合⼯程的依赖传递
⼀般都是在⽗模块的 pom 中定义项⽬⽤到的依赖以及版本,
然后在⼦模块的 pom 中, 需要什么依赖就直接引⼊, 不引⼊版本号, 依赖会⾃动从⽗模块中传递到⼦模块中.
①⽗模块中定义依赖
<!-- 统⼀定义版本号 -->
<properties>
<spring.version>4.3.7.RELEASE</spring.version>
</properties>
<!-- ⽗模块统⼀管理依赖 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
②⼦模块中使⽤依赖
⼦模块中使⽤的话, 不需要定义版本号.
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
</dependencies>
(7) 聚合⼯程的安装.
聚合⼯程不需要每个模块分别安装, 只要对⽗⼯程安装即可.
①在打包⽅式为 pom 的模块中, 添加插件.
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8080</port>
<path>/</path>
</configuration>
</plugin>
②在⽗模块上, 右键 -> Run As -> Maven install 
③执⾏结果 : ⽗⼯程和⼦模块都Build成功了
(7) 多模块的 WEB 项⽬运⾏.
在打包⽅式为 pom 的模块上, 右键
maven clean tomcat7:run。

相关文档
最新文档