我正在運行Jenkins版本。 1.532。我創建了一個maven作業,並嘗試將其配置爲使用配置爲從oracle下載/安裝jdk5的jenkins JDK自動安裝程序來運行java 5。但是當我運行的版本,我得到:-Dmaven.compiler.executable = ...在jenkins上忽略jdk5/bin/javac
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版本?
編輯: 我現在已經切換到詹金斯自由泳項目類型和使用maven-實施者 - 插件構建失敗,如果JDK =建設項目時,使用1.5!在這裏看到最後一段:
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
輸出使用maven 2.2.1嘗試 –
你能解釋一下爲什麼你不能使用JDK7但源+輸出設置爲Java 5?這不是最簡單的選擇嗎? – eis
你的意思是http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html?從筆記我明白,你仍然可以遇到這種方法的運行時錯誤。所以看起來,100%確定的唯一方法是通過構建一個不高於你想要兼容的jdk版本。 – u123