扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用Maven多模块怎么创建父子关系?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网站空间、营销软件、网站建设、和顺网站维护、网站推广。
Maven多模块(pom)
1.1 父模块创建
先创建个简单的空的Maven Project作为父项目
1.2 子模块创建
重新创建一个Maven Project作为子项目
1.3 父子模块(继承关系)
注意:此时父子模块为两个独立的项目。
步骤1:子项目中加入
节点,传入父项目完整坐标。
步骤2:将子项目中的依赖都注释掉。
注意:此时子项目中的没有了Maven Dependencies。
步骤3:将子项目注释的依赖添加到父项目中。
注意:此时子项目中的依赖又添加回来了。
这种直接在父工程中加入
的方式,让子工程可以直接复用依赖,但是缺点是所有的子项目无条件继承父工程所有依赖,所以如果要在父工程中添加依赖只能针对非常通用的依赖。
在父项目中再添加一个依赖。
子项目同时也继承了新添加的依赖。
那如果不想无条件继承父工程的所有依赖,而想让子项目自行选择需要的依赖又该如何做呢?
1.4 dependencyManagement
在父项目中用节点包裹
节点,并且添加的是完整的依赖坐标(gav)。
此时子项目中的Maven Dependencies又会消失,说明添加
节点后,它并不负责相关依赖的下载。
子项目加入相应同样依赖,注意不要加version
(version
继承自父项目),需要什么样的依赖就声明什么。
特别注意,如果父项目提供了groupid
和version
,则删除子项目坐标中的groupid
和version
,直接继承父项目相关坐标。
dependencyManagement
的作用:依赖版本管理器
本身并不下载任何依赖,只是管理依赖的版本。依赖的下载依然需要单独的
(不加dependencyManagement
,额外写一个)去做
如果
中的
没有声明版本号(version
),maven会去寻找有无对应的dependencyManagement
,当前工程没有就会向上找父工程。如果找到就以dependencyManagement
中对应依赖声明的version
为准,否则报错version is missing。
看完上述内容,你们掌握使用Maven多模块怎么创建父子关系的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流