Maven 聚合与继承

聚合

在POM中配置

<modules>

    <module>child1</module>

    <module>child2</module>

</modules>

<packaging>pom</packaging> 

对于聚合模块来说,其打包方式必须为pom

继承

  • 子模块声明<parent></parent>属性。指定坐标groupId,artifactId,version,另外需要指定relativePath 例如<relativePath>../parent/pom.xml</relativePath> ,其默认值为 ../pom.xml
  • 子模块可以继承父模块的部分属性:
  • groupId
  • version
  • description
  • organization :项目的组织信息
  • inceptionYear :项目的创始年份
  • url : 项目的url地址
  • developers :项目的开发这信息
  • contributors :项目的贡献者信息
  • distributionManagement :项目的部署配置
  • issueManagement : 项目的缺陷跟踪系统信息
  • ciManagement :项目的持续继承系统信息
  • scm : 项目的版本控制系统信息
  • mailingLists: 项目的邮件列表信息
  • properties:自定义的Maven属性。
  • dependencies : 项目的依赖配置
  • dependencyManagement:项目的依赖管理配置
  • repositories:项目的仓库配置
  • build:包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等。
  • reporting:包括项目的报告输出目录配置、报告插件配置等。

dependencyManagenment 元素下的依赖声明不会引入实际的依赖,不过他能约束dependencies下的依赖使用。比如在其中配置了某个依赖的版本,子模块继承之后在使用这个模块就不需要声明版本。

import依赖范围 ,旨在dependencyManagement元素下才有效果。作用时将目标POM中的dependencyManagement配置导入并合并到当前POM的denpendencyManagement元素中。

ex.
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.wang.ex</groupId>
            <artifactId>ex-parent</artifactId>
            <version>1.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

插件管理,与依赖管理相似,属性为 pluginManagement,父模块配置完,子模块只需要groupId和artifactId即可引用。

一些默认目录

  • 源码目录为 src/main/java
  • 编译输出目录为 target/classes
  • 打包方式为 jar
  • 包输出目录为 target/

 

反应堆

  • 在一个多模块的Maven项目中,反应堆是指所有模块组成的一个构建结构。

裁剪反应堆

  • -am , --also-make 同时构建所列模块的依赖模块
  • -amd , --also-make-dependents 同时构建依赖于所列模块的模块
  • -pl , --projects <arg> 构建指定的模块,魔窟案件用逗号分隔
  • -rf , --resume-from <arg> 从指定的模块回复反应堆

可以使用-pl选项指定构建某几个模块:(email,persist)

mvn clean install -pl account-email,account-persist

 

使用-am选项可以同时构建所列模块的依赖模块:(parent email)

mvn clean install -pl account -email -am

 

由于-amd选项可以同时构建依赖于所列模块的模块:(parent,email,persist)

mvn clean install -pl account-parent -amd

 

使用-rf选项可以在完整的反应堆构建顺序技术上指定从哪个模块开始构建。

mvn clean install -rf account-email

完整的反应堆构建顺序中,account-email位于第三,它之后只有account-persist,因此会得到如下的裁剪反应堆:

email,persist

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值