【问题标题】:Maven: How to stop using old version of dependency?Maven:如何停止使用旧版本的依赖?
【发布时间】:2020-10-24 00:10:55
【问题描述】:

在我的Java Maven Project 中,我可以看到一个依赖项(apache httpcomponents)的以下 2 个版本:

如何确保在我的项目中只使用最新版本(4.5.2)?

我什至在我的 pom.xml 文件中的任何位置都找不到声明的 4.2.1 来删除它。

【问题讨论】:

标签: java maven dependencies pom.xml


【解决方案1】:

一个给定的项目不应该有两个版本的相同依赖项。

因此,要么您的 IDE 在这里显示错误,要么您在构建之前没有 mvn clean,因此新旧依赖项混合在一起。

Maven 将始终只采用 一个 版本。不幸的是,您不能告诉 Maven 采用最新的,但它总是会采用依赖关系树中最近的。

如果要为特定依赖项设置版本,请使用<dependencyManagement>

【讨论】:

    【解决方案2】:

    根据您使用 IntelliJ 的屏幕截图。我不得不同意这种观点有点令人困惑。在Project-选项卡中,您将External Libraries 包含此选项卡中所有 项目的所有 依赖项。因此,依赖项可能会出现在不同的版本中。 在Maven-tab(右侧)中,您可以看到每个项目的依赖关系树。首先,您将看到直接依赖项,您可以将其展开以查看下一级依赖项。 AFAIK 在 IntelliJ 中没有可用的完整依赖项列表,就像在 Eclipse 中看到的那样。

    【讨论】:

      【解决方案3】:

      这是 IDE 的视图,它显示了您项目中所有使用或使用的库。一旦将 pom.xml 指向新版本并重建项目,将使用新版本。 在 Intellj 中,您可以选择:Menu -> File -> Invalidate Caches/Restart 来更新它。如果这没有帮助,请从现有的 pom.xml 文件开始新项目

      【讨论】:

        猜你喜欢
        • 2017-07-17
        • 2012-12-15
        • 1970-01-01
        • 2020-03-29
        • 2016-09-18
        • 2018-04-16
        • 2010-12-23
        • 2020-07-26
        • 2019-01-24
        相关资源
        最近更新 更多