Shrinkwrap不会从本地存储库加载依赖项,尽管它存在

时间:2017-11-17 12:38:48

标签: java maven jenkins shrinkwrap

我有一个在项目上运行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   WARNUNG:从https://repo.maven.apache.org/maven2/下载com / fasterxml / jackson / datatype / jackson-datatype-jsr310 / 2.7.4 / jackson-datatype-jsr310-2.7.4.pom失败。原因:   org.eclipse.aether.transfer.ArtifactTransferException:无法传输工件com.fasterxml.jackson.datatype:jackson-datatype-jsr310:pom:2.7.4 from / to central(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   WARNUNG:从http://repo1.maven.org/maven2/下载com / fasterxml / jackson / datatype / jackson-datatype-jsr310 / 2.7.4 / jackson-datatype-jsr310-2.7.4.pom失败。原因:   org.eclipse.aether.transfer.ArtifactTransferException:无法传输工件com.fasterxml.jackson.datatype:jackson-datatype-jsr310:pom:2.7.4 from / to central(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 from central(,releases + snapshots)

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

另外,如果有人需要串联两个设置文件,可以通过设置全局设置和用户设置来完成

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

对于我来说,这在Jenkins中很有用,它可以将配置存储在全局设置中,而将凭据存储在用户设置中则存储为机密。