49

ant を実行すると、次のメッセージが表示されます。

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

JAVA_HOME を に設定しC:\Program Files\Java\jdk1.7.0_02、PATH には が含まれC:\Program Files (x86)\Java\jdk1.7.0_02\bin、CLASSPATH には が含まれC:\Program Files (x86)\Java\jdk1.7.0_02、ANT_HOME は に設定されていC:\antます。

ant はこれらの設定をすべて無視して、tools.jar を別の場所で探しているようです。jre6 パスを指す環境変数はありません。理由はありますか?

4

5 に答える 5

36

JDK のように見える 2 つのディレクトリがあります。

  C:\Program Files\Java\jdk1.7.0_02
  C:\Program Files (x86)\Java\jdk1.7.0_02\

これは、64 ビットと 32 ビットの両方の JDK がインストールされているためでしょうか? いずれにせよ、ant.batjava.exeで見られるのは JDK からのものである必要があります。JREがパスの最初に来る場合、それは JDK の場所を推測するために使用されます。java.exe

パスの最初の引数として「C:\Program Files (x86)\Java\jdk1.7.0_02\bin」または「C:\Program Files\Java\jdk1.7.0_02」を入力します。

さらなるステップ:

の出力を取得ant -diagnostics して、興味深いキーを探すことができます。(Sun/Oracle JDK を想定)。

 java.class.path 
 java.library.path
 sun.boot.library.path

(私の場合、tools.jar は java.class.path に表示されます)

于 2012-02-04T14:56:23.323 に答える
11

私も同じ問題を抱えていたので、JDKパスを最後から削除し、すべてのシステムまたはWindows 32パスの前でも開始しました。

以前はこうだった:

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn \;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Users\Rajkaran\AppData \Local\Smartbar\Application\;C:\Users\Rajkaran\AppData\Local\Smartbar\Application\;C:\Program Files\doxygen\bin; %JAVA_HOME%\bin ;%ANT_HOME%\bin

だから私はこのようにしました:

%JAVA_HOME%\bin ;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server \100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C: \Users\Rajkaran\AppData\Local\Smartbar\Application\;C:\Users\Rajkaran\AppData\Local\Smartbar\Application\;C:\Program Files\doxygen\bin;%ANT_HOME%\bin

于 2013-01-19T02:22:31.790 に答える
4

PATH 内の項目の順序は重要です。さまざまな Java インストールに複数のエントリがある場合は、PATH の最初のエントリが使用されます。

Oracle など、 JRE を PATH の先頭に置く製品をインストールした後、同様の問題が発生しました。

ロードしたい JDK が PATH の最初のエントリであることを確認してください (または、少なくとも、表示される前にC:\Program Files\Java\jre6\bin表示されることを確認してください)。

于 2012-02-05T19:42:25.850 に答える
3

必ずJDKのルートフォルダを使用してください。tools.jarが物理的に配置されているパスの最後に「\lib」を追加しないでください。それを理解するのに1時間かかりました。また、この投稿は、Antがtools.jarを探している場所を示すのに役立ちます。

ANTがJAVA_HOMEが間違っているのに間違っていると教えてくれるのはなぜですか?

于 2012-09-20T17:08:32.583 に答える
2
  1. このチュートリアルに従ってもう一度確認してみてください: http://vietpad.sourceforge.net/javaonwindows.html

  2. システムを再起動してみてください。

  3. 何もない場合は、「cmd」を実行して「java」と入力してみてください。何か出力されますか?

于 2012-02-02T20:30:51.010 に答える