現在、私は異なるJavaバージョンのジョブで2つの目標を実行する必要があるという問題に直面しています。1つのjenkinsジョブで異なるJavaバージョンを使用できますか?
第一ステップは 第二ステップは、どのように私はこれを達成できるJava 8
でソナーを実行することであるJavaの6と私のコードをコンパイルするのですか?
あなたは現在、私は異なるJavaバージョンのジョブで2つの目標を実行する必要があるという問題に直面しています。1つのjenkinsジョブで異なるJavaバージョンを使用できますか?
第一ステップは 第二ステップは、どのように私はこれを達成できるJava 8
でソナーを実行することであるJavaの6と私のコードをコンパイルするのですか?
あなたは。
悲しいことに私のために働いていませんが、私にとっては簡単な解決策が見つかりました。そしてそれはジェンキンスのパイプラインを使用しています。
この場合のワークスペースは共有されています。これはnodeコマンドで作成されます。
node('Slaves')
{
stage('Build with coverage and All tests') {
echo 'Starting build with ALL unittests'
withMaven(jdk: 'JDK6') {
//execute maven with java6
}
}
stage('Execute Sonar') {
//do other stuff
withMaven(jdk: 'JDK8') {
//execute maven with java8
}
}
}
あなたがデフォルトとしてjava 8
を使用して、ソースとターゲットのコンパイラとしてjava 6
を使用するようにpom.xml
にproperties以下に設定することができますありがとうございました。まずtoolchainまたはmaven.compiler.source
とmaven.compiler.target
と他のヒントについては、すべての感謝の
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
'maven.compiler.source'バージョンを修正しました! –
試しましたか?https://stackoverflow.com/a/38866362/1595977? – Edwin
これは、この問題を解決する[Toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html)です。 MavenをJDK 8で動かすが、JDK 6などの別のJDKバージョンでコードをコンパイル/テストする。 – khmarbaise
免責事項。コンパイルにmavenを実行するためにJava 8を使用することはできません。私たちの遺産コードベースはそれをサポートしていません。 – keiki