maven实战(四)多模块项目

simple-parent 项目

一个多模块项目通过一个父POM引用一个或多个子模块来定义。在simple-parent/ 目录中你能找到一个父POM(也称为顶层POM)为 simple-parent/pom.xml 。

<groupId>org.sonatype.mavenbook.ch06</groupId>
<artifactId>simple-parent</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>Chapter 6 Simple Parent Project</name>

<modules>
<module>simple-weather</module>
<module>simple-webapp</module>
1.packaging:pom

simple-parent定义了一组Maven坐标: groupId 是 org.sonatype.mavenbook , artifactId 是 simple-parent , version 是 1.0 。这个父项目不像之前的项目那样创建一个JAR或者一个WAR,它仅仅是一个引用其它Maven项目的POM。像 simple-parent 这样仅仅提供项目对象模型的项目,正确的打包类型是 pom

2.modules

pom.xml 中下一部分列出了项目的子模块。这些模块在modules 元素中定义,每个 modules 元素对应了一个 simple-parent/ 目录下的子目录。Maven知道去这些子目录寻找 pom.xml 文件,并且,在构建的simp-parent的时候,它会将这些子模块包含到要构建的项目中。
####3.parent的pom定义全局配置
在parent项目的pom可以定义了一些将会被所有子模块继承的设置,子模块会继承使用这些设置,不需在各自pom中重复定义设置,例如所有子模块都可能会用到的依赖Junit等,或者都需用到的编译插件compiler。

子模块项目

1.子项目继承父项目:parent元素
<parent>
    <artifactId>simple-parent</artifactId>
    <groupId>com.hand.maven.zs</groupId>
    <version>1.0</version>
</parent>

通过parent元素Maven坐标(groupId,version,artifactId)引用了一个父POM,在子模块中我们就不再需要重新定义groupId和version,它们都从父项目继承了。

2.子项目模块:

子项目模块,在parent元素中引用父项目的公用设置后,需定义自己的坐标,即artifactId跟packaging是必须的,子项目中的dependences、build插件等设置除了继承了父项目的设置是不需要明示应用的外,其他项目所必须的设置任然需按照maven项目的规范去设置依赖和引用必要的插件

3.子项目模块间引用

当一个子项目需要应用另一个子项目时,以dependence设置被引用子项目坐标来实现引用,且在parent的项目pom中定义module时,被引用模块必须先被构建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值