6

Java プロジェクトをコンパイルするために apache maven 3.2.3 を使用しています。

コマンドラインを使用してコンパイルを起動すると、

mvn clean compile

その後、完全に機能します。

しかし、Eclipse (LUNA) から maven ビルドを実行すると、常に以下のエラーで失敗します。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project MSDPEx: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile failed: An API incompatibility was encountered while executing org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile: java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main : Unsupported major.minor version 52.0
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:2.5.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/home/rvnath/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.5.1/maven-compiler-plugin-2.5.1.jar
[ERROR] urls[1] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-utils/3.0/plexus-utils-3.0.jar
[ERROR] urls[2] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-api/1.9.1/plexus-compiler-api-1.9.1.jar
[ERROR] urls[3] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-manager/1.9.1/plexus-compiler-manager-1.9.1.jar
[ERROR] urls[4] = file:/home/rvnath/.m2/repository/org/codehaus/plexus/plexus-compiler-javac/1.9.1/plexus-compiler-javac-1.9.1.jar
[ERROR] urls[5] = file:/home/rvnath/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.

Eclipse と Maven の構成に問題はありますか? もしそうなら、どうすればこれを解決できますか?

参考になれば私の環境は以下です。

OS:  Ubuntu 14.10
JDK: java version "1.7.0_75"
     OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~utopic1)
     OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)

Eclipse installed JRE's:  java-7-openjdk-amd64 (default)
4

3 に答える 3

11

この問題は、過去 2 ~ 3 週間、私を悩ませていました。

この種の質問は何度か聞かれ、多くの回答がありました。しかし、私の答えも投稿するので、この状況にある人が恩恵を受けるかもしれません。

最後に、私のシステムにも jdk1.8 がインストールされていて、maven の cmdline 起動がこのバージョンを使用しているのに対し、Eclipse は 1.7 を使用していることがわかりました。だから、私は次のことをしました:

  1. Eclipse->ウィンドウ->設定->インストールされたJREを開きます
  2. [追加] ボタンをクリックし、jdk1.8 へのパスを選択して終了します

jdk1.7でコンパイルに失敗する正確な理由はわかりませんが、プロジェクトをコンパイルできるようになりました。

于 2015-03-28T06:41:33.390 に答える
1

上記は私にはうまくいきませんでしたが、これはうまくいきました。pom.xmlに追加します

<project ....>
    <properties>
        <maven.compiler.source>1.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>
</project>

ここで、1.7 は使用する予定の Java バージョンです。これでmavenコンパイラの設定が上書きされるので、ここからデバッグすると良いです。

于 2015-09-01T08:36:21.147 に答える