我正在运行 Jenkins 版本。1.532。我创建了一个 maven 作业,并尝试使用配置为从 oracle 下载/安装 jdk5 的 jenkins JDK 自动安装程序将其配置为运行 java 5。但是当我运行构建时,我得到:
ERROR: [JENKINS-18403] JDK 5 not supported to run Maven; retrying with slave Java and setting compile/test properties to point to /var/jenkins/tools/hudson.model.JDK/jdk5
maven31-agent.jar already up to date
maven31-interceptor.jar already up to date
maven3-interceptor-commons.jar already up to date
[my-project] $ /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -cp /var/jenkins/maven31-agent.jar:/var/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven/boot/plexus-classworlds-2.4.2.jar:/var/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven/conf/logging jenkins.maven3.agent.Maven31Main
似乎它回退到使用 jdk7(默认)构建。然后我尝试将以下内容添加到构建/目标和选项部分:
mvn clean install -Dmaven.compiler.executable=/var/lib/jenkins/tools/hudson.model.JDK/jdk5/bin/javac
但它没有任何效果。是否不能使用-Dmaven.compiler.executable
选项强制使用 JDK 版本?
编辑: 我现在已经切换到 jenkins 自由式项目类型,如果在构建项目时使用 jdk != 1.5,则使用 maven-enforcer-plugin 使构建失败。请参阅此处的最后一段:
https://blogs.oracle.com/darcy/entry/how_to_cross_compile_for
并在此处注意:
http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html