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でプロジェクトを構築しています。
私はこのエラーがあります:
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などがあります。
# apt-get install default-jdk
そしてエラーは消えます。
JAVA_HOME
設定されているように見えます。jre
jdk
jdk
これがまだ誰にとっても問題である場合に備えて、私は以前の回答について少し説明があります。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"
エラーが消えたのは私が初めてでした。
PATH
あり /bin
、JAVA_HOME
なし /bin
私は同じ問題を抱えていて、コピー C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar
が C:\Program Files\Java\jre6\lib\ext
うまくいきました
いいえ、ディレクトリ構造に従って、JDKではなくJREをインストールしました。違いがあります。
C:\Program Files\Java\jre6\lib
^^^^
次のようになります。
C:\Program Files\Java\jdk1.6.0_24
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を参照する必要があります。
Java JDKをインストールJAVA_HOME
して..\jdk1.6.0_45\bin
フォルダーに設定した後でも、同じ問題が発生しました。
Antはまだフォルダー内を検索しようとしてtools.jar
いC:\Program Files\Java\jre6\lib
ます。
私はそれをJAVACMD
環境変数を追加することで修正java.exe
し、jdk
フォルダー内のパスを設定しました。
私の場合、それはC:\Program Files\Java\jdk1.6.0_45\bin\java.exe
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
多くの人が言及したように、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フォルダーに入れました。
%JAVA_HOME%と%JAVA_HOME%/ binの両方のパスがPATH変数に追加されていることを確認してください。
tools.jarを正しい位置にコピーすることについてのすべての答えは、せいぜい悪い考えです。
IDEがこれらのjarを、設計および意図された方法で検索できることを確認してください。
この問題を解決するには、C:\ Program Files \ Java \ jre1.8.0_112 \ libからC:\ Program Files \ Java \ jdk1.8.0_112 \ libにtools.jarファイルをコピーするだけで、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