2

私は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 (デフォルト) でのビルドにフォールバックするようです。次に、Builds/Goals and options セクションに以下を追加しようとしました。

mvn clean install -Dmaven.compiler.executable=/var/lib/jenkins/tools/hudson.model.JDK/jdk5/bin/javac

しかし、それは何の効果もありません。-Dmaven.compiler.executableオプションを使用して JDK バージョンを強制することはできませんか?

編集: プロジェクトのビルド時に jdk != 1.5 が使用されている場合、jenkins フリースタイル プロジェクト タイプに切り替え、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

4

2 に答える 2

2

http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#executableによると-Dmaven.compiler.executable、Jenkins ジョブ全体ではなく、Maven コンパイラ プラグインに対してのみ実行可能なコンパイラをオーバーライドします。JAVA5 を使用してソースをコンパイルするだけでよい場合は、このプロパティを設定するだけで、Maven コンパイラに JAVA5 を使用させることができます。Jenkins ジョブが Maven ランチャーの実行に JDK 1.6 以降を使用する場合でも。

もちろん、Jenkins ジョブ設定で JDK 1.6 以上を設定する必要があります。Jenkins は JAVA5 を使用して Maven を実行できないため、使用しないでください。

于 2013-10-21T14:58:14.453 に答える