【问题标题】:Can maven transistive dependencies be used while developing? [duplicate]开发时可以使用maven传递依赖吗? [复制]
【发布时间】:2018-04-19 21:24:24
【问题描述】:

我正在使用已经依赖于 google 的 gson 库的 maven 依赖项。我对它附带的版本很好。

以下哪一项是好的做法?

  1. 在我的 pom.xml 中包含 google gson 库,显式忽略它已包含在另一个依赖项中的事实?

  2. 使用作为其他 maven 依赖项的一部分提供的 google gson 库,也就是说,不要在 pom.xml 中显式包含它?

编辑:我也想在我的代码中直接使用 google gson 库。

【问题讨论】:

  • 第一个。意味着您使用的每个依赖项都直接在您的 pom 文件中声明它...
  • 我想说,只要你自己不需要 google gson 库,你就不应该将它包含在 POM 中。只要你想在代码中使用它的任何功能,就把它放在 POM 中
  • 除非你有非常明确的要求——通常是因为新版本对你不可用——你不应该以任何方式关心临时依赖。把事情简单化。列出需要的那些,让 Maven 整理其余部分。

标签: java maven


【解决方案1】:

有了 maven,你就有了这个可怕的版本戏剧。 Maven 使用首先出现的依赖版本。因此,如果您不能确保拥有正确的版本,则必须在 pom.xml 中包含该库,然后再添加另一个库(或将其排除在该库中)。

如果无论哪个版本都无关紧要,则从依赖项中获取版本。除了在将来某个时候更新第三方库并删除 gson 时,没有什么反对它的。 (但这是另一个问题?!)

【讨论】:

    猜你喜欢
    • 2014-10-31
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 2013-02-17
    • 2019-08-23
    相关资源
    最近更新 更多