web-dev-qa-db-ja.com

antの実行時に「tools.jarが見つかりません」

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パスを指す環境変数はありません。なぜアイデアがありますか?

48
john

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

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

これは、64ビットと32ビットの両方のJDKがインストールされているためですか?どのような場合でも、ant.batで表示されるJava.exeはJDKから取得する必要があります。 JREのJava.exeがパスの先頭にある場合、JDKの場所を推測するために使用されます。

パスの最初の引数として「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にあります)

36
Jayan

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

この前に:

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% \置き場

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

%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% \置き場

11
Raj

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

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

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

4
Mads Hansen

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

なぜANTはJava_HOMEが間違っているのに間違っていると言うのですか?

3
Lou Morda
  1. このチュートリアルに従ってもう一度確認してみてください: http://vietpad.sourceforge.net/javaonwindows.html

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

  3. 何もない場合は、「cmd」を実行して「Java」と入力しますが、何も印刷されませんか?

2