2017-07-17 12 views
0

現在、私は異なるJavaバージョンのジョブで2つの目標を実行する必要があるという問題に直面しています。1つのjenkinsジョブで異なるJavaバージョンを使用できますか?

第一ステップは 第二ステップは、どのように私はこれを達成できるJava 8

でソナーを実行することであるJavaの6と私のコードをコンパイルするのですか?

あなたは

+0

試しましたか?https://stackoverflow.com/a/38866362/1595977? – Edwin

+0

これは、この問題を解決する[Toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html)です。 MavenをJDK 8で動かすが、JDK 6などの別のJDKバージョンでコードをコンパイル/テストする。 – khmarbaise

+0

免責事項。コンパイルにmavenを実行するためにJava 8を使用することはできません。私たちの遺産コードベースはそれをサポートしていません。 – keiki

答えて

0

悲しいことに私のために働いていませんが、私にとっては簡単な解決策が見つかりました。そしてそれはジェンキンスのパイプラインを使用しています。

この場合のワークスペースは共有されています。これは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 
     } 
    } 

} 
-1

あなたがデフォルトとしてjava 8を使用して、ソースとターゲットのコンパイラとしてjava 6を使用するようにpom.xmlproperties以下に設定することができますありがとうございました。まずtoolchainまたはmaven.compiler.sourcemaven.compiler.targetと他のヒントについては、すべての感謝の

<properties> 
    <maven.compiler.source>1.6</maven.compiler.source> 
    <maven.compiler.target>1.6</maven.compiler.target> 
    </properties> 
+0

'maven.compiler.source'バージョンを修正しました! –

関連する問題