maven-pom.xml 父子工程dependencymanagement 和dependencies区别

maven-pom.xml 父子工程dependencymanagement 和dependencies区别,第1张

1.主要管理版本,对于子类继承同一个父类是很有用的,集中管理依赖版本不添加依赖关系,对于其中定义的版本,子pom不一定要继承父pom所定义的版本。如果子类想要用自己的版本,子项目只需要重新定义一下就可以。

2.父工程中其实也可以单独再写一个dependencies标签,里边放入各种依赖,这样子项目在继承父类项目的时候,这些jar是会自动引入的,无需声明,但是dependencyManagement只是管理版本,并不引入jar,子类项目在用到该jar时,需要手动声明该jar,但是就不需要写版本号了,会从父类中找到统一管理的版本号。
3.如果父pom中使用的是....的方式,则子pom会自动使用pom中的jar包。
如果父pom使用方式,则子pom不会自动使用父pom中的jar包,这时如果子pom想使用的话,就要给出groupId和artifactId,无需给出version。

补充:

当父项目中dependency相关依赖后,即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)

当父项目中使用的是dependencymanagement 时,这个只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/918651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存