在 Maven 中始终获取 SNAPSHOT 版本

getting always SNAPSHOT version in maven

我有一些不是 maven 最佳构建选择的东西

这一行来自maven:

Downloading: http://artifactory.myCompany.com:8080/artifactory/myCompany/org/apache/avro/avro-mapred/1.7.6-cdh5.7.0-SNAPSHOT/maven-metadata.xml
Downloaded: http://artifactory.myCompany.com:8080/artifactory/myCompany/org/apache/avro/avro-mapred/1.7.6-cdh5.7.0-SNAPSHOT/maven-metadata.xml (2 KB at 1.8 KB/sec)

我还有更多这样的台词

在我的 pom.xml 文件中 我有这个版本

    <dependency>
        <groupId>org.apache.avro</groupId>
        <artifactId>avro</artifactId>
        <version>${avro.version}</version>
    </dependency>

<properties>
    <avro.version>1.7.6</avro.version>
    <jackson.core.version>2.6.4</jackson.core.version>
</properties>

我从 link

得到了版本

而且我不知道为什么我得到的是 SNAPSHOT 版本? 我应该检查什么?

运行 mvn dependency:tree

运行:

mvn dependency:tree -Doutput=c:\company\master\file

结果这棵树:

com.myCompany:web:war:0.0.1-SNAPSHOT
+- com.myCompany:myCompany-common:jar:0.0.1-SNAPSHOT:compile
|  +- com.fasterxml.jackson.core:jackson-core:jar:2.6.4:compile
|  +- com.fasterxml.jackson.core:jackson-databind:jar:2.6.4:compile
|  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.4:compile
|  +- com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.6.4:compile
|  +- joda-time:joda-time:jar:2.9.1:compile
|  +- org.apache.avro:avro:jar:1.7.6:compile
|  |  +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
|  |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
|  |  +- com.thoughtworks.paranamer:paranamer:jar:2.3:compile
|  |  \- org.xerial.snappy:snappy-java:jar:1.0.5:compile
|  +- com.google.guava:guava:jar:19.0:compile

您提到的工件 org.apache.avro:avro:1.7.6 与输出中提到的工件不同:org.apache.org.avro:avro-mapred:1.7.6-cdh5.7.0-SNAPSHOT 它在您继承的父 pom 的 pom 中的其他地方定义....

显示的树不完整,因为我团队的其他人添加了一个新项目 - 顶层 pom.xml 构建了所有嵌套的 pom.xml 文件 但由于这个原因,我看到的树并不完整,从我们的存储库导入新项目后,完整的树出现了,我可以看到它。