我在Jenkins管理的Tools部分设置了JDK安装,并将其命名为“jdk17”。 管道写成如下。
pipeline {
agent any
tools {
jdk 'jdk17'
}
environment {
JAVA_HOME = "${tool 'jdk17'}"
}
stages {
stage('git clone') {
steps {
git branch: 'backend/taskmaster/deploy', credentialsId: 'HJ', url: 'https://lab.ssafy.com/s10-webmobile2-sub2/S10P12A305.git'
}
}
stage('create bootjar'){
steps{
echo "JAVA_HOME=${env.JAVA_HOME}"
sh '''
cd taskmaster
chmod +x gradlew
./gradlew clean bootJar
'''
}
}
}
}
但是在./gradlew执行步骤中出现了如下错误。
ERROR: JAVA_HOME is set to an invalid directory: /var/jenkins_home/tools/hudson.model.JDK/jdk17/abc
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
JAVA_HOME 在安装 jdk17 的文件夹中已建立,但我不知道为什么它说它是无效位置。 我想解决它。
我有同样的问题,碰巧遇到这个问题。对我来说,问题是我分配给 JAVA_HOME 的字符串最终有一个尾随换行符。一旦我在字符串上使用 strip() ,问题就消失了。这也可能是您的问题,希望对您有所帮助!