Maven 项目父子模块 pom.xml 文件的依赖关系
CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 作者:Linux猿
🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬
本篇文章主要介绍 maven 项目父模块和子模块 pom.xml 文件的依赖关系。
一、父模块和子模块功能
1. 父模块往往仅包含一个 pom.xml 文件,用于管理整个项目的依赖;
2. 子模块有对应的模块代码(例如:src 目录),子模块的 pom.xml 文件会声明子模块需要的依赖。
二、dependencies 与 dependencyManagement 的区别
1. 父模块 <dependencies></dependencies> 中定义的所有依赖,在子项目中都会直接继承;
2. 在父模块 <dependencyManagement></dependencyManagement> 中定义的所有依赖,子项目并不会继承,我们还要在子项目中引入我们需要的依赖,才能进行使用。此时我们在子项目中不用设置版本。
注意:
(1)子模块继承的父模块的依赖/子模块声明的依赖,如果在子模块中没有被使用,在子模块单独打包时,就不会被打入 jar ;
(2)maven 打包加入的依赖代码是被调用到的部分代码,没有被调用到的依赖代码不会被加入打包后的 jar 包中。
三、父模块和子模块配置
3.1 父模块配置
父模块的 pom.xml 文件中,设置 <packaging>pom</packaging>,代表打包类型为 pom,使用 <module> 标签定义子模块从而进行关联
<modules>
<module>子模块名称</module>
</modules>
注意:父模块的 pom.xml 中的 <parent> 标签中引用了 SpringBoot ,这是 SpringBoot 项目默认需要引用的顶级工程,不可以删除,如果删除会导致项目运行失败!
3.2 子模块配置
子模块的 pom.xml 文件中, parent 标签内容修改为父工程的 groupId、artifacId 等信息,子模块的 pom.xml 中,使用 <packaging>jar</packaging> 设置打包为 jar 格式(可不加,在创建模块时会有选择默认打包类型)。
参考链接:
Maven 主模块和子模块pom.xml依赖声明相关(依赖放入子模块还是父模块)_JellyfishMIX的博客-CSDN博客
一文搞懂maven父子工程中的依赖引用_maven 父依赖_峰晨朴朴的博客-CSDN博客
SpringBoot 多模块项目构建(父/子模块)_爪哇程序人生的博客-CSDN博客
🎈 感觉有帮助记得「一键三连」支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章」回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞
更多推荐
所有评论(0)