解决 io.netty:netty-transport-native-epoll 时 Jenkins 中的 Maven 出错
Error in Maven in Jenkins while resolving for io.netty:netty-transport-native-epoll
我在尝试在 Jenkins 中构建项目时遇到此错误:
[ERROR] Failed to execute goal on project MyProject:
Could not resolve dependencies for project com.example:MyProject:jar:0.0.2-SNAPSHOT:
Could not transfer artifact io.netty:netty-transport-native-epoll:jar:${os.detected.name}-${os.detected.arch}:4.1.4.Final
from/to nexus (http://nexus.example.com:8081/repository/maven-public/):
Failed to transfer file:
http://nexus.example.com:8081/repository/maven-public/io/netty/netty-transport-native-epoll/4.1.4.Final/netty-transport-native-epoll-4.1.4.Final-$%7Bos.detected.name%7D-$%7Bos.detected.arch%7D.jar.
Return code is: 500 , ReasonPhrase:Server Error. -> [Help 1]
看起来主要是因为${os.detected.name}-${os.detected.arch}
被添加到link,我检查了jar在没有这些变量的Nexus中可用,问题只出现在运行在Debian中的Jenkins ,但在我的 windows 机器上(它有相同的 settings.xml 文件和相同的 POM.xml)构建工作正常,在 windows 上没有问题,但在 linux。我试图在 jenkines 中将 -X 添加到 maven 进行调试,我可以在控制台输出中看到:
OS name: "linux", version: "3.16.0-4-amd64", arch: "amd64", family: "unix"
但是在尝试解决依赖关系时,这不会添加到 link 中:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-microbench</artifactId>
<version>4.1.5.Final</version>
</dependency>
我在Jenkins上使用的Maven是Apache Maven 3.3.9,奇怪的是这个问题在Windows中没有出现。 Here,linux 有一个回购协议 link,我已将其添加到 Maven,但这些变量在 link 中仍然没有更改,这就是下载失败的原因,有什么想法吗?
我已经解决了这个问题,因为我应该添加 netty-all 而不是 netty microbench,所以添加这个依赖项解决了这个问题
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.5.Final</version>
</dependency>
我在尝试在 Jenkins 中构建项目时遇到此错误:
[ERROR] Failed to execute goal on project MyProject:
Could not resolve dependencies for project com.example:MyProject:jar:0.0.2-SNAPSHOT:
Could not transfer artifact io.netty:netty-transport-native-epoll:jar:${os.detected.name}-${os.detected.arch}:4.1.4.Final
from/to nexus (http://nexus.example.com:8081/repository/maven-public/):
Failed to transfer file:
http://nexus.example.com:8081/repository/maven-public/io/netty/netty-transport-native-epoll/4.1.4.Final/netty-transport-native-epoll-4.1.4.Final-$%7Bos.detected.name%7D-$%7Bos.detected.arch%7D.jar.
Return code is: 500 , ReasonPhrase:Server Error. -> [Help 1]
看起来主要是因为${os.detected.name}-${os.detected.arch}
被添加到link,我检查了jar在没有这些变量的Nexus中可用,问题只出现在运行在Debian中的Jenkins ,但在我的 windows 机器上(它有相同的 settings.xml 文件和相同的 POM.xml)构建工作正常,在 windows 上没有问题,但在 linux。我试图在 jenkines 中将 -X 添加到 maven 进行调试,我可以在控制台输出中看到:
OS name: "linux", version: "3.16.0-4-amd64", arch: "amd64", family: "unix"
但是在尝试解决依赖关系时,这不会添加到 link 中:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-microbench</artifactId>
<version>4.1.5.Final</version>
</dependency>
我在Jenkins上使用的Maven是Apache Maven 3.3.9,奇怪的是这个问题在Windows中没有出现。 Here,linux 有一个回购协议 link,我已将其添加到 Maven,但这些变量在 link 中仍然没有更改,这就是下载失败的原因,有什么想法吗?
我已经解决了这个问题,因为我应该添加 netty-all 而不是 netty microbench,所以添加这个依赖项解决了这个问题
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.5.Final</version>
</dependency>