私は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
はそこにありません。
はい、Java Development Kit(JDK)の代わりにJava Runtime Environment(JRE)をダウンロードしてインストールしました。後者にはtools.jar、Java.exe、javac.exeなどがあります。
これがまだ誰にとっても問題である場合には、私は前の答えについて少し明確にします。私はAntを使って同じ問題に遭遇し、JDKだけがインストールされていました。しかし、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"
までではありませんでした。
Java SDK をインストールしてください。
JDKの場所の値を使用して、Java_HOMEというシステム環境変数を追加します。
コントロールパネル\システムとセキュリティ\システムに移動します。詳細システム設定、環境変数、システム変数、新規...例:
変数名:Java_HOME
変数値:C:\ Program Files\Java\jdk1.7.0_21
Antコマンドを再実行する前に新しい変数が有効になるように、CMDウィンドウを閉じる/再度開きます。
私は同じ問題を抱えていてコピーC:\Program Files\Java\jdk1.6.0_26\lib\tools.jar
toC:\Program Files\Java\jre6\lib\ext
は私のために働きました
Linuxを使用している場合は、システムにJavaをインストールすることでこれを解決できます。
Sudo apt-get install openjdk-7-jdk openjdk-7-jre
Java_HOME
環境変数をC:\Program Files\Java\jdk1.7.0_02
を指すように設定します。
いいえ、ディレクトリ構造に応じて、JDKではなくJREをインストールしました。違いがあります。
C:\Program Files\Java\jre6\lib
^^^^
それは次のようになります。
C:\Program Files\Java\jdk1.6.0_24
tools.jar
を探すのにあまり時間をかけないでください。あなたがそのようなエラーに遭遇した場合、動揺しないでください。
Java JDK 1.5を既にお持ちの場合は、lib
フォルダに移動して、そこにtools.jar
があるはずです。それをコピーしてant bin
フォルダーに貼り付けてから、ant -version
コマンドを使用してみてください。
期待通りの結果になるはずです。
JDK 9.0.1をインストールした場合は、tools.jarが廃止されたため、この問題も発生します。 移行ドキュメント を参照してください。
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リンクでした)。実際には、lib
フォルダoutside Javaディレクトリを検索します。
$Java_HOME\..\lib\tools.jar
に解決します
/usr/local/lib/tools.jar
それは有効な場所ではありません。
これを解決するために、$Java_HOME
変数は代わりにこの場所/usr/local/Java/jre
を指す必要があります(JDKパスが/usr/local/Java
であると仮定して) - 実際には各JDKに付属するjre
フォルダーがJDKインストールディレクトリ内にあります。この新しい設定により、MavenはJREディレクトリを見るようになります。これはJDKの一部です。
$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を参照する必要があります。
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フォルダに貼り付けます。
"C:¥Program Files¥Java¥jre7¥lib"
私のC:\Program Files\Java\jdk1.7.0_79
にJDK_path(Java_HOME
)があり、PATH
にJDK_path¥binもありました。しかし、それでも私のアリはJDKの代わりにJREを使用していました。
問題は、JDKパスの前にPATH
変数にC:\ProgramData\Oracle\Java\javapath
があることでした。 JDKパスをOracleパスの前に移動しただけで問題は解決しました。
Ubuntuでも同様の問題が発生する可能性があります。
Embedded error: tools.jar not found: /usr/lib/jvm/Java-7-openjdk-AMD64/jre/../lib/tools.jar
問題は、正しく設定されていないJava_HOMEにあります。
そのため、Ubuntu 14.04 x 64(Java 8を使用):
Sudo apt-get install openjdk-8-jdk openjdk-8-jre
export Java_HOME=/usr/lib/jvm/Java-8-openjdk-AMD64
Java JDKをインストールしてJava_HOME
を..\jdk1.6.0_45\bin
フォルダに設定した後も同じ問題がありました。
Antはまだtools.jar
フォルダーでC:\Program Files\Java\jre6\lib
を見つけようとしています。
環境変数JAVACMD
を追加してパスをjdk
フォルダのJava.exe
に設定することで修正しました。
私の場合はC:\Program Files\Java\jdk1.6.0_45\bin\Java.exe
でした
Eclipseウィンドウ>設定> Java>インストールされたJREで、私はjdk 1.7のjreディレクトリにディレクトリをポイントし、私は私のためにファイルを作業しました。例えばC:\ Program Files\Java\jdk1.7.0_71\jre
私はWindows osで次のように実行する前にJava_HOME変数を設定することで解決しました:
java_HOME = C:¥Program Files¥Java¥jdk1.8.0_111に設定します。
%Java_HOME%と%Java_HOME%/ binの両方のパスがPATH変数に追加されていることを確認してください。
Tools.jarを正しい位置にコピーすることに関するすべての答えは、よくても悪い考えです。
あなたのIDEがこれらのjarファイルを設計され意図された方法で見つけられることを確認してください。
多くの人が言ったように、tools.jarファイルのJDKではなくJREを調べているようです。
また、JDKの最近のバージョンでは、tools.jarファイルはもう存在しません。今日(JDKバージョン12)の最新のJDKをダウンロードしましたが、tools.jarが見つかりませんでした。 JDKバージョン8(1.8.0)をここからダウンロードする必要がありました https://www.Oracle.com/technetwork/Java/javase/downloads/jdk8-downloads-2133151.html tools.jarファイルを取得します。私はそのバージョンをダウンロードし、tools.jarファイルを取り、それを私の最近のバージョンのlibフォルダーに入れました。
私も同じエラーに直面していました。これは、Java_HomeのパスをC:\ Program Files\Java\jdk1.8.0_121に設定した後で削除されました。システムパス変数に%Java_HOME%\ binを定義した後、binがパスに含まれず、jdk1.8.0_121の後にスラッシュがないことを確認してください。
RHEL環境にいる場合は、tools.jarを含むパッケージ名は "openjdk-devel"で終わります。
この問題を解決するには、単にtools.jarファイルをC:¥Program Files¥Java¥jre1.8.0_112¥libからC:¥Program Files¥Java¥jdk1.8.0_112¥libにコピーしたので、2つのtools.jarがあります。 1の代わりにファイルと問題が消えた。
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
クラスパスが正しく設定され、インストールしたJDKの正しいバージョンを指していることを確認してください。また、あなたはOpen JDKを使っていますか?私がオープンJDKからSuns JDKに移行しようとした後に、私はこの問題を以前に経験しました。 This はその問題がどのように修正されるかの例です。
maven-compiler-pluginはjreではなくjdkを使用します。tools.jarはC:¥Program Files¥Java¥jdk1.6.0¥lib¥tools.jarにあります。jarではなくjdkを使用してプロジェクトJREシステムライブラリを設定する必要があります。これが最も簡単な解決策です。
私にとってはたらいているもの:私はJava 1.7の古いバージョンをダウンロードしました
私は私がプログラムファイル/ Javaの中に別のJavaを持っていた1.7バージョンをインストールした後、実際にC:/ program files X86/Java BUTから私のJava_HOMEを設定しました。そして現時点で私はtools.jarをここに見つけました。それから私はこの新しい道に変わり、それは働いています
oSのJREが更新され、環境変数の "パス"に、Java_HOMEを上書きするエントリ ".../Oracle/jer"が追加された可能性があります。 Java_HOMEをそのままにして、「パス」から削除してください。
Tools.jarをダウンロードした後、エラーメッセージのpathにコピーしました。
C:¥Program Files¥Java¥jdk-11.0.1¥bin>ここに貼り付けるtools.jar
その後、私はSpring Tool Suit 4を再起動しました、そしてすべてがうまくいっていました。私はその問題を解決しようとしていたとき、私は新しい環境変数を作りました。コントロールパネル/システム/ Advenced /環境変数/新しい名前:Java_HOME値:C:\ Program Files\Java\jdk-11.0.1必要です。