我在使用 AWS CodeBuild 时遇到了一点问题。我们在 Github ( https://github.com/ibissource/mvn-repo ) 上将 ibis 适配器框架作为 Maven 存储库托管。
我正在使用该框架作为我正在处理的项目的依赖项。在我的 pom.xml 文件中,我设置了版本属性和存储库/依赖项。
当我在本地运行 Maven 构建时,它可以轻松找到依赖项(它会发出有关无法传输元数据的警告),但它能够毫无问题地构建。
编辑:它能够在本地构建,因为我将文件缓存在我的 .m2 存储库中.. 重命名文件夹后,我能够重现问题
当我将更改提交到 CodeCommit 并触发 CodePipeline 时,一旦到达 CodeBuild,它几乎立即失败并出现以下错误:
错误] 无法在项目 api 上执行目标:无法解析项目 com.priooo:api:war:0.0.29 的依赖项:无法在 org.ibissource:ibis-adapterframework-core:jar:7.0-B4-SNAPSHOT 收集依赖项: 无法读取 org.ibissource:ibis-adapterframework-core:jar:7.0-B4-SNAPSHOT 的工件描述符:无法将工件 org.ibissource:ibis-adapterframework-core:pom:7.0-B4-SNAPSHOT 从/到 ibis 传输-mvn-repo ( https://github.com/ibissource/mvn-repo/raw/master/releases ):收到致命警报:protocol_version -> [帮助 1]
<properties>
<iaf.version>7.0-RC3-SNAPSHOT</iaf.version>
</properties>
<repositories>
<repository>
<id>ibis-mvn-repo</id>
<url>${ibissource.maven.repository.https}/releases</url>
</repository>
<repository>
<id>ibis-mvn-repo-snapshots</id>
<url>${ibissource.maven.repository.https}/snapshots</url>
</repository>
</repositories>
在依赖项中,我有以下内容
<dependency>
<groupId>org.ibissource</groupId>
<artifactId>ibis-adapterframework-core</artifactId>
<version>${iaf.version}</version>
</dependency>
<dependency>
<groupId>org.ibissource</groupId>
<artifactId>ibis-adapterframework-larva</artifactId>
<version>${iaf.version}</version>
</dependency>
<dependency>
<groupId>org.ibissource</groupId>
<artifactId>ibis-adapterframework-webapp</artifactId>
<version>${iaf.version}</version>
<type>war</type>
</dependency>
解决方案
似乎 Maven 不喜欢 Github 对原始文件的重定向。我们已将 Github URL 更改为原始 URL,它似乎解决了问题
<ibissource.maven.repository.https>https://raw.githubusercontent.com/ibissource/mvn-repo/master</ibissource.maven.repository.https>