0

我有一个mvn clean verify在项目上运行的 Jenkins 工作。但是由于 Shrinkwrap 解析器无法解析 2 个依赖项,一些集成测试失败了。

Jenkins 服务器和从属服务器位于不允许访问中央存储库的内部网络中。但是我们有一个 Nexus 存储库,其中包含所有必需的包。

运行 Jenkins 作业时,它以UNSTABLE和两个失败的集成测试结束。两条消息如下所示:

2017 年 11 月 17 日下午 1:02:25 org.jboss.shrinkwrap.resolver.impl.maven.logging.LogTransferListener transferFailed 警告:下载 com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.7.4/jackson- 失败来自https://repo.maven.apache.org/maven2/的 datatype-jsr310-2.7.4.pom 。原因:org.eclipse.aether.transfer.ArtifactTransferException:无法将工件 com.fasterxml.jackson.datatype:jackson-datatype-jsr310:pom:2.7.4 从/到中央(https://repo.maven.apache. org/maven2):传输文件时出错:repo.maven.apache.org 2017 年 11 月 17 日下午 1:02:25 org.jboss.shrinkwrap.resolver.impl.maven.logging.LogTransferListener transferFailed 警告:下载 com/fasterxml/ 失败jackson/datatype/jackson-datatype-jsr310/2.7.4/jackson-datatype-jsr310-2.7.4.pom 来自http://repo1.maven.org/maven2/。原因:org.eclipse.aether.transfer.ArtifactTransferException:无法将工件 com.fasterxml.jackson.datatype:jackson-datatype-jsr310:pom:2.7.4 从/到中央(http://repo1.maven.org/ maven2):传输文件时出错:repo1.maven.org

为了解决这个问题,我添加了一个预构建步骤来下载工件。日志显示工件已下载:

解决工件 com.fasterxml.jackson.datatype:jackson-datatype-jsr310:pom:2.7.4 解决工件 com.fasterxml.jackson.datatype:jackson-datatype-jsr310:pom:2.7.4 从中央(,发布+快照)

我还手动签入:pom 文件位于本地存储库中。

为什么它不能解决明显在本地存储库中的工件?

4

2 回答 2

1

终于我找到了办法。我提供了 settings.xml 并将目标设置为“csettings.xml”。然后我将参数传递给构建目标和选项:"-Dorg.apache.maven.user-settings=$WORKSPACE/csettings.xml"

于 2017-11-22T10:11:06.887 回答
0

此外,如果有人需要连接两个设置文件,可以通过设置 global-settings 和 user-settings 来完成

-Dorg.apache.maven.global-settings=global-settings.xml -Dorg.apache.maven.user-settings=user-settings.xml 

在我的情况下,这在 Jenkins 中很有用,可以将配置存储在全局设置中,并将凭据存储在用户设置中的服务器中,该用户设置存储为秘密。

于 2020-01-09T08:45:52.107 回答