我尝试在jenkins(多分支管道)上建立工作。我需要使用JDK8和JDK 6来运行此作业以进行测试。
如何安装其他JDK,如何定义他必须使用的JDK?
谢谢
答案 0 :(得分:1)
JAVA_HOME
鉴于您在Jenkins中都安装了两个JDK,则可以创建两个不同的阶段,并为每个阶段设置JAVA_HOME
环境变量。像这样:
pipeline {
stage("jdk6") {
environment {
JAVA_HOME = "/usr/lib/jvm/oracle-java6-jdk-amd64"
}
steps {
sh "java -version"
sh "mvn --version"
}
}
stage("jdk8") {
environment {
JAVA_HOME = "/usr/lib/jvm/oracle-java8-jdk-amd64"
}
steps {
sh "java -version"
sh "mvn --version"
}
}
}
或者,您可以在“管理Jenkins”→“全局工具配置”下配置所需的JDK。请注意,并与tools
directive一起使用:
pipeline {
agent any
stages {
stage("jdk6") {
tools {
jdk "jdk6"
maven "3.2.5" // latest Maven, which supports JDK 6
}
steps {
sh "java -version"
sh "mvn --version"
}
}
stage("jdk8") {
tools {
jdk "jdk8"
maven "3.5.4"
}
steps {
sh "java -version"
sh "mvn --version"
}
}
}
}
请注意,我还需要更改Maven版本,因为当前的Maven版本不再支持JDK 6(请参见Maven Release History)。
答案 1 :(得分:0)
最后,我找到了解决此问题的办法
在文件pom.xml中,我定义了一个这样的插件:
就像那样,我可以在Jenkinsfile中定义我使用的jdk版本。
在我的Jenkinsfile中,我定义了这样的阶段:
有了这个,我对兼容性没有问题