Java 1.7.0_52(または約))に更新したため、Ant build.xmlを実行できません。Windows7ラップトップでEclipseを使用してローカルで何年も実行していますが、最新のjave jdkは何か異なるものを更新します(?)。
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に修正する必要があるか、「;」がある場合のようです。パスまたはそのようなもので。私の場合、これらのどれも当てはまらないようです。
助言がありますか?
実際のメッセージは、Antがcom.Sun.tools.javac.Main
を見つけることができないということです。
これは、最新の「Sun」(Oracle)JDKが1.7.0_13(またはおそらく_14ですが、インストールディレクトリが示す「_52」ではない)という事実とともに、ディストリビューションを使用していないと思わせますAntが認識すること。これを確認するには、jar tvf $Java_HOME/lib/tools.jar
を実行し、そのクラスを探します。
Ant Manual は、さまざまなコンパイラを使用する方法について説明しています。私は「Sun」コンパイラーのみを使用しているため、ポインターを提供できないのではないかと心配しています。
編集:ビルドファイルにfork="yes"
を設定してみることもできます。これにより、コンパイラクラスを呼び出そうとするのではなく、コンパイラ実行可能ファイルが実行されます。
Eclipseを介してANTを実行すると、同じメッセージが表示されました。
私のために働いたもの:
tools.jar
へのパスが間違っていました。古いバージョンのJavaを指していました。ソリューション "Had to copy C:\Program Files\Java\jdk1.6.0_10\lib\tools.jar to C:\Program Files\Java\jre6\lib\ext
"from here は非常に役に立ち、私のために働きました。
Java_HOMEをEclipse-Preferences-Java-Build Path-Classpath変数に追加します。
Java_HOME\bin
をenv PATH
に追加してみてください。