我搜索了这样的问题但没有找到任何东西,所以我就在这里。
我有一个多模块 Maven 项目。多个模块都继承同一个父模块,其中定义了共同的依赖关系。其中,有一个我自己的模块,一个“通用”模块,其中实现了一些通用功能。
我的问题是:对于常见依赖项,更好的做法是什么:在父级中显式定义它们,就像我现在所做的那样?或者在“公共”模块中定义它们,其他模块引用该模块,然后依赖传递性(就像公共依赖项的单入口点)?
最好在父 pom 中使用 dependencyManagement 标签来定义依赖项及其版本,然后在需要时在子模块中引用这些依赖项。当您需要项目中的其他子模块(即来自另一个子模块的公共子模块)时,将可以传递地找到依赖项。例如:
在你的父 pom 中:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.7</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
在您的通用 pom 中(注意没有版本或范围):
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
然后您可以从其他子模块引用您的公共子模块(如果您已经这样做了)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)