21

Java 1.7.0_52 (またはそのあたり) に更新したため、Ant build.xml を実行できません。私は何年もの間、Windows 7 ラップトップでローカルに Eclipse を使用して実行してきましたが、この最新の javajdk アップデートでは何かが異なります (?)。

BUILD FAILED
C:\workspace\WaterAspectsModel3\build.xml:329: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "D:\Morten\Java\jdk1.7.0_52"

これは私のjdkです!したがって、JAVA_HOME は jdk を指しています (エラー メッセージからも明らかです)。いつものように、パスに bin フォルダーを含む JAVA_HOME があります。同じ D:\Morten\Java\jdk1.7.0_52 を指す JRE を使用して、Eclipse (外部ツール構成) を構成しました (「別の JRE」設定を使用)。そして、他の多くの構成を試しましたが、すべてうまくいきませんでした。

ここや他の場所のリストにあるたくさんの回答を読んでいて、すべての提案を試したと思います。ほとんどの場合、JAVA_HOME が実際に jre を指しており、jdk に修正する必要があるか、「;」がある場合のようです。パスまたはそのようなもので。私の場合、これらのどれも当てはまらないようです。

助言がありますか?

4

6 に答える 6

40

Eclipse で ANT を実行しているときに同じメッセージが表示されました。

私のために働いたもの:

  1. Eclipse で、メニューにアクセスします: "ウィンドウ -> 設定";
  2. ツリーで「Ant -> Runtime」にアクセスします。
  3. [クラスパス] タブにアクセスします。
  4. 「グローバル エントリ」項目を展開します。
  5. Global Entries 内で、へのパスtools.jarが間違っていました。古いバージョンの Java を指していました。
  6. 間違ったエントリを削除し、「Add External Jars」ボタンで正しいエントリを追加しました。出来た。

ここに画像の説明を入力

于 2014-10-07T20:29:56.343 に答える
7

本当のメッセージは、Antがを見つけることができないということcom.sun.tools.javac.Mainです。

これは、最新の「Sun」(Oracle)JDKが1.7.0_13(または、おそらく_14ですが、インストールディレクトリが示す「_52」ではない)であるという事実と合わせて、ディストリビューションを使用していないと思います。 Antが認識すること。jar tvf $JAVA_HOME/lib/tools.jarを実行してそのクラスを探すことで、これを確認できます。

Antマニュアルでは、さまざまなコンパイラを操作する方法について説明しています。私は「Sun」コンパイラしか使用していないので、ポインタを提供することはできません。


編集:fork="yes"ビルドファイルで設定を試すこともできます。これにより、コンパイラクラスを呼び出そうとするのではなく、コンパイラ実行可能ファイルを実行する必要があります。

于 2013-02-26T20:20:49.103 に答える
0

JAVA_HOME を Eclipse-Preferences-Java-Build Path-Classpath 変数に追加します。

于 2014-11-19T09:42:29.953 に答える
0

に追加JAVA_HOME\binしてみてくださいenv PATH

于 2013-02-26T20:09:08.173 に答える