Maven传递依赖项未更新,显示旧版本

时间:2020-08-03 06:45:28

标签: maven

我的模块如下:

root
  daemon
  common
  tests

现在daemontest都有<dependency>common</dependency>。 我只是简单地写了它们,以便理解。

common的版本为jaxrs-api2.1.1的版本为2.0

构建了整个项目,对其进行了清理,但是daemontests仍显示旧版本。 common版本在所有模块中都是一致的。 IntelliJ中的Dependency Analyzer插件仍然显示common具有2.0,并且由于不匹配,代码存在编译问题。

enter image description here

每个模块的版本都来自root,如下所示:

<parent>
    <groupId>com.mycompany.domain</groupId>
    <artifactId>app-name</artifactId>
    <version>1.0.10-SNAPSHOT</version>
    <relativePath>..</relativePath>
</parent>

除了上面的屏幕截图,下面是mvn dependency:tree中唯一的jax-rs条目

[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ common ---
[INFO] com.zzz:common:jar:1.0.10-SNAPSHOT
[INFO] +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.9.8:compile
[INFO] |  +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.9.8:compile
[INFO] |  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.8:compile
[INFO] |     \- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
[INFO] +- javax.ws.rs:javax.ws.rs-api:jar:2.1.1:compile
[INFO] +- org.testng:testng:jar:6.9.6:test



[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ daemon ---
[INFO] com.zzz:daemon:jar:1.0.10-SNAPSHOT
[INFO] +- com.zzz:common:jar:1.0.10-SNAPSHOT:compile
[INFO] |  +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.9.8:compile
[INFO] |  |  +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.9.8:compile
[INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.9.8:compile
[INFO] |  +- javax.ws.rs:javax.ws.rs-api:jar:2.0:compile
[INFO] |  \- com.paypal.usf:vo:jar:1.6.5:compile

有关问题,请参见daemon依赖性日志,该日志将common的旧版本与2.0绑定在一起。我没有看到任何冲突,也没有看到jar来自其他依赖项。我还尝试过手动删除target目录并删除.m2内部的目录,但无济于事。

1 个答案:

答案 0 :(得分:2)

运行maven依赖项:树并检查感兴趣的依赖项在哪里。

Maven总是采用与根节点相距较小距离的可笑依赖。

引荐-https://dzone.com/articles/solving-dependency-conflicts-in-maven