Jenkins 构建maven项目时提示:No compiler is provided in this environment.

Jenkins 构建maven项目时提示:No compiler is provided in this environment._第1张图片
在确保虚拟机中的maven已经安装且可以正常执行mvn install 的情况下,Jenkins构建时执行maven编译仍然提示

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

首先请确保你的虚拟机上安装了JDK以及Maven,并且配置了正确的环境变量

$  javac

Jenkins 构建maven项目时提示:No compiler is provided in this environment._第2张图片

$  mvn -v

在这里插入图片描述
如果可以将项目clone到虚拟机上也可以试试

$   git clone xxx.git

$  mvn -U clean install -DskipTests

Jenkins 构建maven项目时提示:No compiler is provided in this environment._第3张图片
当你确认了如上的步骤都正常,那么基本可以确定不是你虚拟机本身环境的问题,而是jenkins 运行时的环境选择错了,它可能使用了默认虚拟机自带的jdk了

怎样确认Jenkins运行的JDK是不是你自己安装的呢,我们借助alternatives命令

说明:
alternatives --install

其中,
install表示安装
link是符号链接
name则是标识符
path是执行文件的路径
priority则表示优先级

  1. 首先查看默认的java 命令链接路径
alternatives --config java

Jenkins 构建maven项目时提示:No compiler is provided in this environment._第4张图片
其中有+号标识的表示当前使用的java程序路径
因为我刚刚设置过,所以最后边的是我自己设置的,如果不出意外,你的界面应该只展示第一个,看路径就知道那不是你自己安装的JDK路径,那么通过如下命令设置
2. alternatives --install /usr/bin/java java /usr/local/jdk/bin/java 2
/usr/bin/java 不用改
java 不用改
/usr/local/jdk/bin/java 是你自己安装的JDK路径,注意是你环境变量JAVA_HOME + /bin/java 拼接而成,而不是单纯的JAVA_HOME
3. 选择你设置的JDK

alternatives --config java

命令输入后,输入序号选择后回车设置完毕
4. 重启Jenkins 再次构建时就会成功了
Jenkins 构建maven项目时提示:No compiler is provided in this environment._第5张图片

本文结束

参考文章: Jenkins Maven compile failure: No compiler is provided in this environment

你可能感兴趣的:(linux,jenkins,maven,java)