文章目录
前言
在Jenkins上run pipeline去mvn clean install
时候遇到一个Maven compile failure :
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
下面来描述一下我是如何一步步排除并最终解决问题的。
解决问题步骤
检查JAVA和设置Jenkins Global Tools Configuration
在CentOS7上查看时,发现机器上装的是CentOS7自带的openjdk,并且查看这个openjdk,貌似不像一个JDK,更像一个JRE。
在Jenkins 的Global Tools Configuration 中添加openjkd的JAVA_HOME时,Jenkins 提示指定目录不是一个JAVA_HOME目录。
放弃,上传之前下载的一个Oracle JDK的.tar.gz
到CentOS7,解压。这时候再在Jenkins的Global Tools Configuration中重新添加JAVA_HOME,这次没有警告。
但是重新运行Jenkins build时,一样的错,尴尬。
设置环境变量
然后想到是不是环境变量原因,所以就在/etc/profile中设置了JAVA_HOME和MAVEN_HOME的环境变量:
export JAVA_HOME=/usr/lib/java8/jdk1.8.0_161
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export MAVEN_HOME=/opt/apache-maven-3.5.0
export PATH=