在多个POM文件之间共享依赖项

8
什么是在Maven项目中共享多个依赖项的最佳实践方法?
我能想到以下两种可能的方法:
1.创建一个父POM文件,并在使用这组依赖项的每个项目中使用同一POM文件。
2.创建一个包含依赖项的POM文件的新maven项目。然后在所有需要公共依赖项的项目中引用此项目。
是否有其他方法?哪个应该使用?

就我所见,大多数示例都使用选项1。 - nwaltham
5个回答

5

我认为这取决于您的具体用例。

选项1肯定是一个不错的选择,但如果您已经有一个父项目,特别是如果您有几个共享依赖集,那么它可能变得更加困难/复杂(您可能会在多个父级的复杂层次结构中迷失方向)。

另一个缺点是,选项1(据我所知)无法排除继承的依赖关系,因此如果您的项目扩展了父POM,则除了继承所有依赖关系之外,别无选择。

在这种情况下,选项2更易于管理,更清晰和更灵活。创建一个类型为POM的Maven项目,并在需要时添加此项目的依赖项。使用此解决方案,可以从POM项目中排除某些依赖项,从而使该解决方案更加灵活。


1

选项1效果很好 - 我建议选择它。


1

1

我认为选项2更好,因为这是一个包含继承的问题。

如果您需要在项目之间共享2个依赖特性,选项1将限制您在单一继承级别上,而选项2则提供了更多的灵活性。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接