Bootstrap

jenkins编译无法找到

接触新的项目,构建时候报错:Failure to find io.netty:netty-tcnative:jar:${os.detected.classifier}:2.0.7.Final in - bf378 - 博客园 (cnblogs.com)

【问题来源】实际是因为jenkinsmaven编译,maven模块中某个依赖不能识别,hive-jdbc模块中nettys版本无法识别。开发本地是可以跑通的,但是使用流水线就有问题。

类似这个图片

【解决过程】这个最简易的做法就是直接在编译命令上加上一个命令

mvn clean package -DskipTests -Dos.detected.classifier=linux-x86_64

netty-tcnative-2.0.27.Final-SNAPSHOT-linux-aarch_64.jar 其他办法不适用流水线,因为没有编辑线上包的权限

今天又遇到同样的问题,是这样解决的

mvn clean package -Dos.detected.name=linux -Dos.detected.arch=x86_64

操作系统是linux centos7  内核是3.10。第一个方法是我从网上搜的, 但是好像不适用我们的版本。 原理都差不多,实际在本地我的maven安装版本比较高,没有出现这些问题,似乎是在maven版本较低而编译包的版本比较高导致的。

我猜测因为没有指定那个包的版本,默认去远程下载最新的包。不知道公司是否考虑半年到一年更新一下编译版本

【总结】解决办法很多,选择适合该场景的即可。对我来说其他办法对我不适应。我怀疑我们线上的maven版本比较低,3.0.4,jdk8,而这个包比较新。maven无法获取相关参数导致的。

;