我们有一个私有的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>
我缺少什么(除了头发!!!)??
答案 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