2016-04-14 33 views
7

私はジェンキンスMavenのジョブを実行しようとすると、私は次のエラーを取得するには、間違ったJDKを構築します。Mavenのはジェンキンス

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project myProject: Fatal error compiling: invalid target release: 1.8 -> [Help 1] 

これは、Mavenのは、Java 1.8を使用していることを示し、Java 1.7を使用することになっています。

私はデバッグモードでMavenを実行し、それが正しいバージョンの表示:ジェンキンスサーバーは、私は空のMavenのレポと言うことでジョブを実行しようとしたのJava 1.8

... 
$ java -version 
java version "1.8.0_74" 
Java(TM) SE Runtime Environment (build 1.8.0_74-b02) 
Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) 
... 
$ javac -version 
javac 1.8.0_74 
... 

で実行されます

... 
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100) 
Maven home: /var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/maven305 
Java version: 1.7.0_71, vendor: Oracle Corporation 
Java home: /var/lib/jenkins/tools/hudson.model.JDK/JDK_7u71/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "linux", version: "3.8.0-44-generic", arch: "amd64", family: "unix" 
... 

正確にどのバージョンを使用するのかは成功しません。

私はこのようにMavenを呼び出す:

mvn clean install -X -DskipTests -Dmaven.repo.local=../testrepo -Djava.version=1.7 

私が何か間違ったことをやっていますか?

+1

POMファイルにコンパイラプラグイン用のJava 1.7を明示的に指定しようとしましたか? – CptBartender

+0

@CptBartenderいいえ、私はそれを試みます。 – fa94

+0

@CptBartenderまだ同じエラーです。 – fa94

答えて

-1

私はついにこの問題が何かを知りました。

私のビルドでは、ネクサスサーバからダウンロードする別のモジュールを使用します。誰かが間違いを犯して、バージョン管理下のものと同期していないバージョンをネクサスにアップロードしました。 nexusのバージョンにはJava 1.8が指定されていますが、バージョン管理下のバージョンにはJava 1.7が含まれているため、以前は気づいていませんでした。

偉大な答えをお寄せいただきありがとうございます。 (多分、後に)ジェンキンス2.7.3では

0

次の手順を試してください:

1)ジェンキンスを管理するために行く - > [設定システム

2)JAVA_HOMEとグローバルプロパティでそのパスを追加します - >環境変数

3)JDKを追加し、 JDKセクションのパス

ない場合の解決策の多くは、ここで提供されているとして、この記事次試してみてください。Maven uses an incorrect Java version when it is executed by Jenkins

+0

私はすでに他の質問に記載されている解決策を試しましたが、何も効果がありませんでした。また、Jenkinsサーバーは他のJavaバージョンを必要とする他のプロジェクトでも使用されているため、グローバル変数を変更することはできません。 – fa94

7
を適切な解決策は、必要なJDKをJenkinsのグローバル設定に追加し、次にプロジェクトビルド設定で必要なJDKバージョン/インストールを選択することです。

まず、必要なJDKをビルドマシンにコピーします。その後、Jenkinsの設定を開き、 "JDK"セクション[Jenkins - > Manage Jenkins - > Configure System]にスクロールします。 Jenkinsに必要なJDKを追加します。次の図は、2つの異なるJDKで構成されたJenkinsの例です。 JDK installations under Jenkins

プロジェクト設定[YourProject - > Configure]の下で、新しいオプションが利用可能になります。 enter image description here

"デフォルト(デフォルト)" JVM内のJVMは、Jenkinsが動作するJDKを参照します。簡単に修正するには、このJDKをプロジェクトに必要なバージョンに変更します(Jenkinsの起動スクリプトを変更するかJAVA_HOMEを使用します)。これは動作します。ただし、2つ以上の競合するプロジェクトを作成する必要がある場合は、とにかく複数のJDKを構成する必要があります。

同様の手順で、Jenkinsサーバーに複数のMavenインストールを追加できます。

+1

pom.xmlにソース/ターゲットのバージョン値を追加することを忘れないでください。 – Talijanac

+0

この場合、Project = Job –

0

メニューナビゲーションが若干異なります。

1)ジェンキンス

2を管理する)グローバルツール構成

3)JDKセクション

4)「JDKのインストール」ボタンを押してください

5)JDKオプションとパスがあります

関連する問題