使用SNAPSHOT私有仓库错误地在AWS上构建Maven

时间:2017-12-18 15:43:32

标签: maven amazon-web-services jenkins repository pom.xml

我们有一个私有的maven repo(artifactory),我们在libs-release文件夹中有一个发布jar(cryptolib-0.9.7.jar)。

在本地构建或在Jenkins上构建(在Azure上托管),一切正常。基于AWS上的codebuild,maven尝试(并且失败)从libs-snapshot下载。

詹金斯&本地输出(v3.3.9)......

Downloading: http://[our-repo]/artifactory/libs-release/org/openpseudonymiser/cryptolib/0.9.7/cryptolib-0.9.7.pom
Downloaded: http://[our-repo]/artifactory/libs-release/org/openpseudonymiser/cryptolib/0.9.7/cryptolib-0.9.7.pom (457 B at 3.7 KB/sec)
Downloading: http://[our-repo]/artifactory/libs-release/org/openpseudonymiser/cryptolib/0.9.7/cryptolib-0.9.7.jar
Downloaded: http://[our-repo]/artifactory/libs-release/org/openpseudonymiser/cryptolib/0.9.7/cryptolib-0.9.7.jar (13 KB at 234.8 KB/sec)

AWS / CodeBuild输出(v.3.3.3)...

Downloading: http://[our-repo]/artifactory/libs-snapshot/org/openpseudonymiser/cryptolib/0.9.7/cryptolib-0.9.7.jar

两者都在执行mvn -B install。我已经尝试了各种各样的在线建议,而pom存储库部分目前看起来像这样(现在似乎只能尝试从中心下载)...

<repositories>
    <repository>
        <releases><enabled>false</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
        <id>snapshots</id>
        <name>libs-snapshot</name>
        <url>http://[our-repo]/artifactory/libs-snapshot</url>
    </repository>
    <repository>
        <releases><enabled>true</enabled></releases>
        <snapshots><enabled>false</enabled></snapshots>
        <id>central</id>
        <name>libs-release</name>
        <url>http://[our-repo]/artifactory/libs-release</url>
    </repository>
</repositories>

我缺少什么(除了头发!!!)??

1 个答案:

答案 0 :(得分:1)

卫生署! &#34;当您将Maven与AWS CodeBuild提供的Java构建环境一起使用时,Maven会从repo1.maven.org/maven2上的安全中央Maven存储库中提取构建和插件依赖项。即使您的构建项目的pom.xml文件明确声明要使用其他位置,也会发生这种情况。&#34; http://docs.aws.amazon.com/codebuild/latest/userguide/troubleshooting.html#troubleshooting-maven-repos

我的解决方案是删除buildspec安装阶段的默认settings.xml。

phases:
  install:
    commands:
      - rm /root/.m2/settings.xml