1、问题描述
全新部署的最新版jenkins,在服务器已经配置好JAVA_HOME,并且在jenkins的配置中也进行了配置,但是jenkins在执行maven构建的时候一直报错
No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?。
后来在pipeline中打印JAVA_HOME时Jenkins居然使用的是系统自带openjdk的,导致maven一直无法识别
2、解决方法如下
由于在jenkins的配置中配置了JAVA_HOME的路径但还是无法识别,于是将java路径添加到了pipeline中
pipeline {
agent any
environment {
VERSION = "${TIME}" #版本使用时间戳的方式
PATH = "/usr/java/jdk1.8.0_131/bin:/usr/local/maven/bin:$PATH" #定义了java和maven的环境变量
}
stages{
stage('拉取代码'){
steps {
gitlab代码地址
}
}
stage('printenv') {
steps {
sh 'printenv'
}
}
stage('代码构建'){
steps {
sh "/usr/local/bin/mvn clean package -Dmaven.test.skip=ture"
}
}
stage('镜像构建'){
steps {
sh "docker build . -t xxxx"
}
}
stage('应用部署'){
steps {
echo "deploy app"
}
}
}
}
结果:将环境变量添加到pipeline后Jenkins可以正常构建