摆脱依赖中SNAPSHOT版本的最佳方法

时间:2016-06-15 09:55:14

标签: java maven maven-3 cloudera dependency-management

我想使用Cloudera Maven存储库中的依赖项: 从我的pom.xml中提取:

<repositories>
    <repository>
        <id>cloudera</id>
        <url>https://repository.cloudera.com/cloudera/cloudera-repos/</url>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-core_2.10</artifactId>
        <version>0.9.0-cdh4.6.0</version>
    </dependency>

它取决于使用SNAPSHOT版本引用父级的父级“spark-parent”。

从spark-parent pom.xml(https://repository.cloudera.com/artifactory/cloudera-repos/org/apache/spark/spark-parent/0.9.0-cdh4.6.0/)中提取:

<parent>
  <groupId>com.cloudera.cdh</groupId>
  <artifactId>cdh-root</artifactId>
  <version>4.6.0-SNAPSHOT</version>
</parent>
<groupId>org.apache.spark</groupId>
<artifactId>spark-parent</artifactId>
<version>0.9.0-cdh4.6.0</version>

当我运行简单的“mvn clean package”时,我发现无法找到此SNAPSHOT工件的错误。

解决这个问题最简单的方法是什么?解决方案必须是pom.xml或build命令中的更改。 感谢。

1 个答案:

答案 0 :(得分:0)

Cloudera Maven存储库doesn't have工件com.cloudera.cdh:cdh-root:pom:4.6.0-SNAPSHOT,因此您将无法使用它构建项目。

但是,您可以使用此存储库的Spring缓存:http://repo.spring.io/cloudera-cache。它contains丢失的工件。您还必须在存储库中启用快照依赖项:

<repositories>
    <repository>
        <id>cloudera-cache</id>
        <url>http://repo.spring.io/cloudera-cache/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>