Maven - 我应该直接使用依赖树中的 jar 吗?

标签 maven maven-2 dependencies maven-3

假设现有的项目依赖树为:

     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/

相关文章:

java - 获取项目所需的所有 Jar

java - 在 maven jaxb codegen 期间将 DTMManagerDefault 转换为 DTMManager 的 ClassCastException

maven-2 - 如何让maven使用系统代理设置

python - 在测试 python 脚本时模拟缺乏依赖性

javascript - Yarn Install - 如何强制使用最新的次要版本和 Node 补丁 (10.x.x)

android - Paypal 集成错误 - Android

java - 使用 Fiddler 捕获 HTTP 流量

java - spring 3.0 包含哪些 maven 依赖项?

ant - antrun 插件使用的是哪个版本的 ANT

maven-2 - maven 工件存储库目录结构规范