tools.jarが見つかりません


182

Javaでプロジェクトを構築しています。

私はこのエラーがあります:

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

JDKとフォルダをインストールしました。C:\Program Files\Java\jre6\libシステムにはありますが、ファイルtools.jarがありません。


ツールはJREではなくJDKに属していると思います。そうではありませんか?C:\ Program Files \ Java \ jdk1.6.0_24 \ lib
Edwin Dalorzo '20 / 04/11

4
余談ですが、私が驚くべきことは、プログラムが実際にそれがどこにあるかを言ったことです。したがって、この有用な手がかりを提供するプログラムはほとんどありません。
Peter Flynn

また、重複した質問を参照してください。stackoverflow.com/q/9119479/3328979は何とか良く、ここよりもある回答。
Arashsoft

回答:


188

はい、Java Development Kit(JDK)ではなく、Java Runtime Environment(JRE)をダウンロードしてインストールしました。後者にはtools.jar、java.exe、javac.exeなどがあります。


7
@olidevはこれを今チェックしていますが、問題の指摘を止めることはできません!! どうすればこれがあなたの答えになりますか?jdkとjreをインストールしたことはすでに述べました。私は実際に同様の問題に直面していて、それはまだ続きます:-(。どのようにしてそれを機能させたかを知る必要がありますか??
Mercenary

7
JAVA_HOMEと/ binディレクトリをパスに追加します。この答えは2歳だとわかりますよね?
duffymo 2013

17
ubuntuでは:# apt-get install default-jdkそしてエラーは消えます。
Xavi Montero

2
キー?JDK。それがツールです。JREはサポートしていません。
duffymo 2015

2
必ずしも。それ自体ではなく内部にJAVA_HOME設定されているように見えます。jrejdkjdk
ArtOfWarfare 2016

88

これがまだ誰にとっても問題である場合に備えて、私は以前の回答について少し説明があります。JDKのみがインストールされているantを使用して、同じ問題が発生していました。ただし、JDKインストーラーは次のようなディレクトリ構造を提供します。

 Directory of C:\Program Files\Java

05/08/2012  09:43 AM    <DIR>          .
05/08/2012  09:43 AM    <DIR>          ..
05/08/2012  09:46 AM    <DIR>          jdk1.7.0_04
05/08/2012  09:19 AM    <DIR>          jre6
05/08/2012  09:44 AM    <DIR>          jre7
               0 File(s)              0 bytes

そして私がantを実行したとき、jre7サブディレクトリの下にtools.jarが見つからないという不満がありました。set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"エラーが消えたのは私が初めてでした。


7
この。ありがとう!(さまざまなjre / jdkバージョンがインストールされている私たちの場合)
Daren Thomas

それは私のために働きました..以前に私は\ binでもパスを与えました..それは問題でした
ジョン

ありがとう、私はあなたに2つのupsを与えることができればいいのに!
ルーク、

38
  1. Java SDKをインストールします

  2. JDKの場所の値を含むJAVA_HOMEというシステム環境変数を追加します。
    コントロールパネル\システムとセキュリティ\システムに移動します。詳細システム設定、環境変数、システム変数、新規...例:
    変数名:JAVA_HOME
    変数値:C:\ Program Files \ Java \ jdk1.7.0_21

  3. 新しい変数が有効になるようにCMDウィンドウを閉じてから再度開いてから、antコマンドを再実行してください。


4
JAVA_HOME変数はすべてを修正しました。ありがとう
ござい

4
PATH あり /binJAVA_HOME なし /bin
ダニエルW.

1
ありがとう、私は何時間もこれを探していました!!
kcho0 2015

1
Windows8.1の魅力のように機能する
Umar Abbas

チャームのように働く!! ありがとう
ハイディ

28

私は同じ問題を抱えていて、コピー C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar C:\Program Files\Java\jre6\lib\ext うまくいきました


4
明らかにそこに属していないクラスでローカル設備を汚染すると、Works on my machineシンドロームにつながる可能性があります。これは、正式なビルドプロセスが実施されている場合でも同様です。JDKのツールとユーティリティをサポートするための非コアクラスを含むtools.jar
real_paul

10

JAVA_HOMEを指すように環境変数を設定しますC:\Program Files\Java\jdk1.7.0_02


10

Linuxを使用している場合は、システムにjavaをインストールすることでこれを解決できます。

sudo apt-get install openjdk-7-jdk openjdk-7-jre

明らかに、Java 8には「sudo apt-get install openjdk-8-jdk openjdk-8-jre」を使用できます
シュレンジャー

7

いいえ、ディレクトリ構造に従って、JDKではなくJREをインストールしました。違いがあります。

C:\Program Files\Java\jre6\lib
                      ^^^^

次のようになります。

C:\Program Files\Java\jdk1.6.0_24

はい、そうです!しかし、どうすればjreをアンインストールできますか?事前の感謝
olidev

[スタート]> [コントロールパネル]> [ソフトウェア](または、Win *バージョンに応じて同様)
Sean Patrick Floyd

しかし、そのようなjreを削除するオプションはありません。チェックしたところです!
olidev 2011

@Joesy OK、それが見つからない場合はそのままにしておきます。ディスク容量を回復する場合を除いて、アンインストールする必要はありません。多くのJDKやJREを同時にインストールすることができます
Sean Patrick Floyd


5

探しにあまり時間をかけないでくださいtools.jar。このようなエラーが発生した場合でも、慌てないでください。

すでにJava JDK 1.5を使用している場合は、libフォルダーに移動すると、tools.jarそこにあるはずです。コピーしてant binフォルダーに貼り付け、コマンドを使用してみてくださいant -version

期待どおりの結果が表示されます。


2
このアプローチはお勧めですか?
S_M

4

Linuxマシンでも同じ問題が発生しました。JDKとJREの両方をインストールしたので、最初はかなりイライラしました。私はバージョン1.6、1.7、および1.8を同時に使用していますが、すべてを適切に設定するために、代替手段を使ってたくさん遊んでいます。

問題は非常に愚かでしたが、直観に反しています。正しいJDKを使用している間、jar mavenが不満を言うツールのパスに注意を払いました。

$JAVA_HOME\..\lib\tools.jar

$JAVA_HOME変数は、私に直接指摘jdk(フォルダ/usr/local/javaも正しかった$PATHエントリと代替SYMリンク)。次の理由により、実際にはjavaディレクトリlibフォルダを検索します。

$JAVA_HOME\..\lib\tools.jar

解決する

/usr/local/lib/tools.jar

そしてそれは有効な場所ではありません。

これを解決するには、$JAVA_HOME変数は代わりにこの場所を指す必要があります/usr/local/java/jre(JDKパスがであると想定/usr/local/java)。実際にjreは、各JDKに付属するJDKインストールディレクトリ内にフォルダがあります。この新しいセットアップにより、mavenはJDKの一部であるJREディレクトリを確認します。

$JAVA_HOME\..\lib\tools

今解決する

/usr/local/java/jre/../lib/tools.jar

そして最後に

/usr/local/java/lib/tools.jar

これはどこでtools.jar本当に存在します。

したがって、実際にJREの代わりにJDKを使用している場合でも、$ JAVA_HOMEはJREを指す必要があります。OSの代替は引き続きJDKを参照する必要があります。


1
Windowsでも同じ問題が発生しました。あなたの方法で問題を解決しました。
Yigang Wu

私はこれをすべて試しましたが、それでもtools.jarで問題が発生します。Randoopは努力する価値がありますか?それはまともな単体テストを生成するという意味ですか?これの苛立たしい部分は、私のWindowsボックス上の他のすべてのJavaプログラムが正常に動作することです。
スミス氏

@MrSmith、エラーを受け取ったときにRandoopが探すパスは何ですか。たぶん、Randoopには、JREの場所を指示する独自のenv設定があるのでしょうか。また、環境変数を変更した後、シェルウィンドウ(シェルから実行している場合)を再度開きましたか?
Ivaylo Slavov

3

Javaをインストールしたjdkパスに移動します

たとえば、次のパスにインストールされている私のPCのJDK

"C:\ Program Files \ Java \ jdk1.7.0_17 \";

libフォルダーに移動した後(例: "C:\ Program Files \ Java \ jdk1.7.0_17 \ lib")

libディレクトリにtool.jarファイルがあります

このファイルをコピーして、たとえば、jre7ディレクトリのlib forlderに貼り付けます。

「C:\ Program Files \ Java \ jre7 \ lib」


2

Java JDKをインストールJAVA_HOMEして..\jdk1.6.0_45\binフォルダーに設定した後でも、同じ問題が発生しました。

Antはまだフォルダー内を検索しようとしてtools.jarC:\Program Files\Java\jre6\libます。
私はそれをJAVACMD環境変数を追加することで修正java.exeし、jdkフォルダー内のパスを設定しました。
私の場合、それはC:\Program Files\Java\jdk1.6.0_45\bin\java.exe


2

Ubuntuでも同様の問題が発生する可能性があります。

Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar

問題は、正しく設定されていないJAVA_HOMEにあります。

したがって、Java8を使用するUbuntu 14.04 x64の場合:

sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

2

次のように実行する前にJAVA_HOME変数を設定することにより、Windows osで私はそれを解決しました:

セットJAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_111


私はこれを強制しなければなりませんでした。Ant 10+は不明な変数でJDKを探しています。JDKを取得している場所を見つけることはできませんでしたが、コマンドラインで実行でき、JAVA HOMEを強制したところ、動作しました。
カミングス

2

多くの人が言及したように、tools.jarファイルのJDKではなくJREを調べているようです。

また、JDKの最近のバージョンではtools.jarファイルがなくなったことにも触れておきます。今日(JDKバージョン12)の最新のJDKをダウンロードしましたが、tools.jarが見つかりませんでした。tools.jarファイルを取得するには、https: //www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlからJDKバージョン8(1.8.0)をダウンロードする必要がありました。そのバージョンをダウンロードして、tools.jarファイルを取得し、それを最新バージョンのlibフォルダーに入れました。


1

%JAVA_HOME%と%JAVA_HOME%/ binの両方のパスがPATH変数に追加されていることを確認してください。

tools.jarを正しい位置にコピーすることについてのすべての答えは、せいぜい悪い考えです。

IDEがこれらのjarを、設計および意図された方法で検索できることを確認してください。


1

Eclipseウィンドウ>設定> Java>インストールされたJREで、ディレクトリをjdk 1.7のjreディレクトリにポイントし、C:\ Program Files \ Java \ jdk1.7.0_71 \ jre


1

私にはJDK_path(C:\Program Files\Java\jdk1.7.0_79)がJAVA_HOMEあり、JDK_path \ binもありましたPATH。しかし、それでも私の蟻はJDKの代わりにJREを使用していました。

問題はC:\ProgramData\Oracle\Java\javapathPATH変数のJDK_pathの前にありました。Oracle 1の前にJDK_pathを移動しただけで、問題は解決しました。


1

この問題を解決するには、C:\ Program Files \ Java \ jre1.8.0_112 \ libからC:\ Program Files \ Java \ jdk1.8.0_112 \ libにtools.jarファイルをコピーするだけで、2つのtools.jarができます。 1つではなくファイルと問題が消えた。


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

jdkをインストールした場合

..Java/jdkx.x.x

フォルダはそこに存在する必要があるので、それをストールし、次のような完全なパスを指定してください

C:\Program Files\Java\jdk1.6.0\lib\tools.jar

0

クラスパスが正しく設定されており、インストールしたJDKの正しいバージョンを指していることを確認してください。また、Open JDKを使用していますか?オープンJDKからSuns JDKに移行しようとした後、この問題が発生しました。 これは、その問題を修正する方法の例です。


0

maven-compiler-pluginはjreではなくjdkを使用します。tools.jarはC:\ Program Files \ Java \ jdk1.6.0 \ lib \ tools.jarにあり、jarではなくjdkでプロジェクトJREシステムライブラリを構成する必要があります。これが最も簡単な解決策です。


0
  • Antファイルを右クリックします
  • [別のユーザーとして実行]に移動し、[Antビルド...]をクリックします。
  • 「JRE」タブに移動します
  • JREではなくJDKを選択してください

0

私にとって何が機能しているか:Java 1.7の古いバージョンをダウンロードしました

実際にJAVA_HOMEをC:/ program files X86 / Javaから設定しましたが、1.7バージョンをインストールした後、program files / Javaに別のJavaをインストールしました。そして現時点で、tools.jarがここにあります。次に、この新しいパスに変更しました。


0

私も同じエラーに直面していました。これは、Java_HomeパスをC:\ Program Files \ Java \ jdk1.8.0_121に設定した後に削除されました。システムパス変数で%JAVA_HOME%\ binを定義した後、jdk1.8.0_121の後にbinがパスに含まれておらず、スラッシュがないことを確認してください。



0

これはWindowsのソリューションです。[ コンピューター]> [システムの詳細設定]> [詳細設定]> [環境変数...]で、これを[ システム変数]に追加します

ここに画像の説明を入力してください


0

tools.jarをダウンロードした後、エラーメッセージのパスにコピーしました。

C:\ Program Files \ Java \ jdk-11.0.1 \ bin>ここに貼り付けますtools.jar

その後、私はSpring Tool Suit 4を再起動し、すべてが機能していました。その問題を修正しようとしたときに、新しい環境変数を作成しました:コントロールパネル/システム/拡張/環境変数/新しい名前:JAVA_HOME値:C:\ Program Files \ Java \ jdk-11.0.1しかし、私は知りませんそれが必要です。


0

OSでJREを更新し、環境変数の「パス」に、JAVA_HOMEを上書きするエントリ「... / Oracle / jer」を追加した可能性があります。JAVA_HOMEを残して、「パス」から削除してみてください。


0

それが役立つ場合、私にとっての問題は、PATH環境変数に2つのエントリがあり、javaw実行可能ファイルを含む場所を指していることでした。

変数をクリーンアップして、「%JAVA_HOME%\ bin」がJava実行可能ファイルを含む場所を参照する唯一のエントリであることを確認しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.