maven 多模块项目关系
前言
- maven 3.5.0
maven 多模块项目关系
maven 多模块项目关系有2种,分别为:继承关系和聚合关系。
继承关系
具有继承关系的多模块项目结构如下:
my-project-inheritance|-- my-module| `-- pom.xml`-- pom.xml
my-project-inheritance简称父项目,my-module简称子项目。
父项目的POM文件(my-project-inheritance/pom.xml)内容:
<project><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-project-inheritance</artifactId><version>1</version>
</project>
子项目的POM文件(my-project-inheritance/my-module/pom.xml)内容:
<project><parent><groupId>com.mycompany.app</groupId><artifactId>my-project-inheritance</artifactId><version>1</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-module</artifactId><version>1</version>
</project>
继承关系下,子项目可以继承父项目POM的某些属性。比如 groupId、version属性。因此,子项目可以利用继承关系将POM精简如下:
<project><parent><groupId>com.mycompany.app</groupId><artifactId>my-project-inheritance</artifactId><version>1</version></parent><modelVersion>4.0.0</modelVersion><artifactId>my-module</artifactId>
</project>
聚合关系
具有聚合关系的多模块项目结构如下:
my-project-aggregation|-- my-module| `-- pom.xml`-- pom.xml
my-project-aggregation简称父项目,my-module简称子项目。
父项目的POM文件(my-project-aggregation/pom.xml)内容:
<project><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-project-aggregation</artifactId><version>1</version><modules><module>my-module</module></modules>
</project>
子项目的POM文件(my-project-aggregation/my-module/pom.xml)内容:
<project><modelVersion>4.0.0</modelVersion><groupId>com.mycompany.app</groupId><artifactId>my-module</artifactId><version>1</version>
</project>
聚合关系下,在父项目上调用maven命令时,也会同步在子项目上执行。比如在父项目上调用命令 mvn package
, 也会同步在子项目上调用命令 mvn package
。
继承关系和聚合关系
如果多个Maven项目都有相似的配置,则可以使用继承关系。提取那些相似的配置到父项目。
如果多个Maven项目需要一起构建或处理,则可以使用聚合关系。在父项目中进行构建或处理即可。
多数情况下,多模块项目同时具有继承关系和聚合关系。
参考
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
maven 多模块项目关系相关推荐
- 【sprinb-boot】maven 多模块项目:单独 spring-boot:run 某个模块
目录 前言 假设的 maven 多模块项目 模块关系1 模块关系2 模块关系3 模块关系4 示例:模块关系1 1,my-parent1/pom.xml 文件 2,my-parent1/my-app1/ ...
- maven 多模块项目:单独构建某个模块
前言 maven 3.5.0 在maven 多模块项目中,使用-pl -am -amd等参数可以单独构建某个模块. maven 多模块项目关系 单独构建模块:module1 在父级项目目录中执行如下命 ...
- Maven多模块项目中应用maven-tomcat-plugin热部署
Maven多模块项目中使用maven-tomcat-plugin热部署 比如有一个父模块xfl(类型为pom的maven项目),其中的pom.xml为: <modules> <mod ...
- eclipse创建maven多模块项目(单个类似)
2019独角兽企业重金招聘Python工程师标准>>> 1.下载安装maven 1.1.下载 注意:maven的版本,要根据你的jdk版本来下载.要不会安装失败,提示版本问题哦 Jd ...
- maven多模块项目,多web合并项目使用心得
Fixflow,做中国最好的开源流程引擎!项目地址https://github.com/fixteam/fixflow 此文章适合maven初学者或想接触maven的用户,讲的只是皮毛,高手请自觉略过 ...
- Maven多模块项目搭建
要: Maven多模块项目搭建,可以通过合理的模块拆分,实现代码复用,便于维护管理,可以根据需要配置指定的模块. __kindeditor_temp_url__ http://git.oschin ...
- maven 多模块项目
maven 多模块项目 项目结构 proj | |- proj-model | | | |- src | |- pom (jar) | | | |- proj- ...
- IDEA下Maven多模块项目介绍和搭建
为什么80%的码农都做不了架构师?>>> 1Maven多模块项目介绍 为了便于演示和表达,在intellij中建了小项目进行举例,如下图所示 其中web-m2模块,依赖于com ...
- 在 IntelliJ IDEA 中创建基本的 Maven 多模块项目
在 IntelliJ IDEA 中创建基本的 Maven 多模块项目 笔者的环境: Maven 3.6.3 JDK 11 IntelliJ IDEA 2020.2.2 (Ultimate Editio ...
最新文章
- @aspect注解类不生效_springboot:@Transactional注解 VS @Service注解
- 注释代码c语言,C/C++ 源文件删除注释代码
- 手机技巧:是否应该一次性给手机充电到100%?看完你就明白了!
- jquery动态绑定事件的方法_Jquery绑定事件及动画效果
- Windows 平台下的C++代理类(供C # 使用)
- python2.7入门---内置函数
- java数组硬盘读取,java中如何通过IO流将稀疏数组写入磁盘和从磁盘中读取,整行存,整行取...
- cocos2d-x关于CCTableView的“乱序问题”的理解
- DL_C2_week1_2(Regularization)L2,Drop_out正则化
- 开源APP源代码、游戏源代码
- matlab 双音多频 接收端检测到的号码,实验一数字信号处理在双音多频拨号系统中的应用.doc...
- python人民币转大写_python实现人民币大写转换
- 我有一个 APP 创意,如何将其实现?
- Kotlin 元编程(注解,反射)
- 如何提高个人执行力?
- 机器视觉学习资料了解
- this is a prerequisite condition to test whether the packagecompat-libstdc++-33-3.2.3-61.x86_64
- 开关电源:效率与VOUT的关系
- 传参时带有日期参数,@JsonFormat与@DateTimeFormat
- web低成本的安全登录方案