假设现有的项目依赖树为:
MyProject:jar:0.1.0
+- DependencyJar:jar:1.0.3:compile
| +- com.google.guava:guava:jar:14.0:compile
我想从现在开始使用guava
。
我的问题是我应该在 pom.xml 中只定义 DependencyJar
还是同时定义 DependencyJar 和 guava
?
最佳实践是什么? 谢谢。
最佳答案
最佳实践是在 pom.xml
中声明项目直接使用的所有依赖项。
您不应依赖传递行为,因为 DependencyJar
稍后可以选择从其依赖项中删除 guava
。因此,DependencyJar
的升级可能会导致 MyProject
无法编译。
此最佳实践与 maven dependency plugin's analyze-mojo 一致行为,它可以告诉您使用了 pom.xml
中未声明的依赖项。
关于Maven - 我应该直接使用依赖树中的 jar 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18075631/