5

Eclipse から Ant スクリプトを実行しようとしていますが、次のメッセージが表示されて失敗します。

BUILD FAILED
project_path/build.xml:5:
java.lang.UnsupportedClassVersionError: com/sun/tools/javac/Main :
Unsupported major.minor version 51.0

ただし、これをコマンドライン (./ant) から実行すると、期待どおりに実行されます。
環境情報:

  • OS: Linux ミント 64
  • 日食: ジュノ (4.2.1)
  • JDK: オラクル 1.7.0_11
  • Ant (コマンドライン): 1.8.2

また、「Ant Home」(Eclipse 設定内) を、コマンドラインから使用するものと同じになるように設定しました。

この問題についてよく検索しましたが、役立つものは何も見つからないようです。現在インストールされているすべての Java (jdk/jre) をアンインストールしてから、Java 7 を再インストールしてみてください。このルート。

何か案は?ありがとう!

4

3 に答える 3

11

UnsupportedClassVersionError:com / sun / tools / javac / Main:サポートされていないmajor.minorバージョン51.0

これは、バージョン間にいくつかの混乱があることを示唆しています-AntはJava6JVMでJava7を実行しようとしていますjavac。プロジェクトのプロパティ、ビルダー、Ant Builderを確認し、クラスパスセクションを確認してください。新しく作成されたAntBuilderを使用するEclipseでは、1.7JDKのtools.jarがユーザーエントリ->追加のタスクとサポートの下にリストされています。同じものを持っていても、Eclipse自体がJava 6で実行されている場合は、機能しません。インストールの詳細->構成の下にある「Eclipseについて」ボックスを使用して、どのJavaEclipse自体が実行されているかを確認できます。これは、プロジェクトで使用するように構成されているJavaのバージョンとは異なる場合があります。

これを修正する可能性のあるもう1つの方法は、ant Builder設定の[JRE]タブに移動し、Eclipseプロセス内で実行するのではなく、別のJREで実行するように指示することです。

于 2013-01-29T10:57:06.680 に答える
1

Eclipse ant タスクは、Java7 より前の JDK/JRE を使用して Java7 JDK コンパイラを実行しようとしています。Eclipse を実行するには、必ず Java7 JRE を使用してください。

于 2013-01-29T11:00:35.293 に答える
0

通常、JavaプログラムをJava 1.7でコンパイルすると、メジャーバージョン51.0のクラスファイルが作成され、それを下位のJavaバージョンで実行すると次のようになります。

 java.lang.unsupportedclassversionerror unsupported major.minor version 51.0

同じことの詳細については、この投稿を確認してください

于 2013-01-29T10:58:51.907 に答える