Ich baue ein Projekt in Java.
Ich habe diesen Fehler:
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Ich habe ein JDK installiert und der Ordner: C:\Program Files\Java\jre6\lib
befindet sich in meinem System, aber die Datei tools.jar
ist nicht vorhanden.
Antworten:
Ja, Sie haben die Java Runtime Environment (JRE) anstelle des Java Development Kit (JDK) heruntergeladen und installiert. Letzteres hat die tools.jar, java.exe, javac.exe usw.
quelle
# apt-get install default-jdk
und der Fehler verschwindet.JAVA_HOME
sich auf dasjre
Innere desjdk
statt auf dasjdk
Selbst eingestellt.Falls dies immer noch ein Problem für irgendjemanden ist, habe ich ein bisschen Klarheit über die vorherigen Antworten. Ich bin auf dasselbe Problem mit ant gestoßen, bei dem nur ein JDK installiert war. Das JDK-Installationsprogramm hat mir jedoch eine Verzeichnisstruktur wie die folgende gegeben:
und als ich ant lief, beschwerte es sich darüber, dass es tools.jar im Unterverzeichnis jre7 nicht gefunden habe. Erst als ich
set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"
verschwand, verschwand der Fehler.quelle
Installieren Sie das Java SDK .
Fügen Sie eine Systemumgebungsvariable mit dem Namen JAVA_HOME mit dem Wert des JDK-Speicherorts hinzu.
Gehen Sie zu Systemsteuerung \ System und Sicherheit \ System. Erweiterte Systemeinstellungen, Umgebungsvariablen, Systemvariablen , Neu ... Beispiel:
Variablenname: JAVA_HOME
Variablenwert: C: \ Programme \ Java \ jdk1.7.0_21
Schließen Sie Ihr CMD-Fenster, damit die neue Variable wirksam wird, bevor Sie versuchen, den Befehl ant erneut auszuführen.
quelle
PATH
mit/bin
,JAVA_HOME
ohne/bin
Ich hatte das gleiche Problem und das Kopieren
C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar
aufC:\Program Files\Java\jre6\lib\ext
für mich gearbeitetquelle
JAVA_HOME
Stellen Sie Ihre Umgebungsvariable so ein, dass sie auf zeigtC:\Program Files\Java\jdk1.7.0_02
.quelle
Wenn Sie unter Linux arbeiten, können Sie dies lösen, indem Sie Java auf dem System installieren:
quelle
Nein, gemäß Ihrer Verzeichnisstruktur haben Sie eine JRE installiert, kein JDK. Es besteht ein Unterschied.
Es sollte so etwas sein wie:
quelle
Wenn Sie JDK 9.0.1 installiert haben, tritt dieses Problem ebenfalls auf, da die Datei tools.jar veraltet ist. Siehe Migrationsdokument .
quelle
Verbringen Sie nicht zu viel Zeit mit der Suche
tools.jar
. Wenn Sie einen solchen Fehler erhalten, seien Sie nicht verärgert.Wenn Sie bereits Java JDK 1.5 haben, gehen Sie zu Ihrem
lib
Ordner, und dertools.jar
sollte dort verfügbar sein. Kopieren Sie es und fügen Sie es in Ihren Ameisenordner ein.bin
Versuchen Sie dann, den Befehl zu verwendenant -version
.Sie sollten das erwartete Ergebnis sehen.
quelle
Ich hatte das gleiche Problem auf einem Linux-Computer. Anfangs war ich ziemlich frustriert, weil ich sowohl das JDK als auch das JRE installiert habe. Ich verwende gleichzeitig die Versionen 1.6, 1.7 und 1.8 und habe viel mit den Alternativen gespielt, um alles richtig einzustellen.
Das Problem war ziemlich dumm zu lösen, aber nicht intuitiv. Während ich das richtige JDK verwendete, achtete ich auf den Pfad der Werkzeuge, über die sich jar maven beschwert hatte - es wurde erwartet
Die
$JAVA_HOME
Variable zeigte direkt auf meinenjdk
Ordner (/usr/local/java
der auch der richtige$PATH
Eintrag und alternative Sym-Link war). Es sucht tatsächlich nach demlib
Ordner außerhalb des Java-Verzeichnisses, weil:wird zu lösen
und das ist kein gültiger Ort.
Um dies zu lösen, sollte die
$JAVA_HOME
Variable stattdessen auf diesen Speicherort verweisen/usr/local/java/jre
(vorausgesetzt, der JDK-Pfad lautet/usr/local/java
).jre
Im JDK-Installationsverzeichnis befindet sich tatsächlich ein Ordner, der mit jedem JDK geliefert wird. Dieses neue Setup veranlasst maven, das JRE-Verzeichnis zu überprüfen, das Teil des JDK ist:was jetzt zu löst
und schließlich zu
Hier
tools.jar
wohnt der wirklich.Selbst wenn Sie tatsächlich das JDK anstelle der JRE verwenden, muss $ JAVA_HOME auf die JRE verweisen. Denken Sie daran, dass sich die Betriebssystemalternative weiterhin auf das JDK beziehen sollte.
quelle
Gehen Sie zu Ihrem JDK-Pfad, in dem Sie Java installiert haben
Zum Beispiel in meinem PC JDK im folgenden Pfad installiert
"C: \ Programme \ Java \ jdk1.7.0_17 \";
Gehen Sie anschließend in den Ordner lib, z. B. "C: \ Programme \ Java \ jdk1.7.0_17 \ lib".
Im lib-Verzeichnis befindet sich die Datei tool.jar
Kopieren Sie diese Datei und fügen Sie sie in den lib forlder des Verzeichnisses jre7 ein, z
"C: \ Programme \ Java \ jre7 \ lib"
quelle
Ich hatte das gleiche Problem auch nach der Installation von Java JDK und
JAVA_HOME
auf..\jdk1.6.0_45\bin
Ordner gesetzt.Ant versucht immer noch zu finden
tools.jar
inC:\Program Files\Java\jre6\lib
Ordnern.Ich habe es behoben, indem ich eine
JAVACMD
Umgebungsvariable hinzugefügt und den Pfad dafürjava.exe
imjdk
Ordner festgelegt habe.In meinem Fall war es
C:\Program Files\Java\jdk1.6.0_45\bin\java.exe
quelle
Unter Ubuntu kann es zu ähnlichen Problemen kommen:
Das Problem liegt bei JAVA_HOME, das nicht richtig eingestellt ist.
Also, unter Ubuntu 14.04 x64 mit Java8:
quelle
Es wurde mit mir in Windows OS gelöst, indem die Variable JAVA_HOME vor dem Ausführen wie folgt festgelegt wurde:
Setzen Sie JAVA_HOME = C: \ Programme \ Java \ jdk1.8.0_111
quelle
Wie viele Leute bereits erwähnt haben, suchen Sie in Ihrer JRE anstelle des JDK nach der Datei tools.jar.
Ich möchte auch erwähnen, dass es in neueren Versionen des JDK keine Datei tools.jar mehr gibt. Ich habe das aktuellste JDK von heute heruntergeladen (JDK Version 12) und konnte keine tools.jar finden. Ich musste JDK Version 8 (1.8.0) hier https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html herunterladen , um die Datei tools.jar zu erhalten. Ich habe diese Version heruntergeladen, die Datei tools.jar genommen und in den lib-Ordner meiner letzten Version gestellt.
quelle
Stellen Sie sicher, dass sowohl die Pfade% JAVA_HOME% als auch% JAVA_HOME% / bin zu Ihrer PATH-Variablen hinzugefügt werden.
Alle Antworten zum Kopieren von tools.jar in die richtige Position sind bestenfalls eine schlechte Idee.
Stellen Sie sicher, dass Ihre IDE diese Gläser so findet, wie sie entworfen und vorgesehen sind.
quelle
In Eclipse-Fenster> Einstellungen> Java> Installierte JRE habe ich das Verzeichnis auf das Verzeichnis jre in jdk 1.7 verwiesen und eine Datei für mich bearbeitet, z. B. C: \ Programme \ Java \ jdk1.7.0_71 \ jre
quelle
Ich hatte meinen JDK_path (
C:\Program Files\Java\jdk1.7.0_79
) in meinemJAVA_HOME
und auch den JDK_path \ bin in meinemPATH
. Trotzdem benutzte meine Ameise die JRE anstelle von JDK.Das Problem war, dass ich
C:\ProgramData\Oracle\Java\javapath
vor meinem JDK_path inPATH
Variable hatte. Ich habe einfach meinen JDK_Pfad vor dem Orakel verschoben und das Problem behoben.quelle
Um dieses Problem zu lösen, habe ich einfach die Datei tools.jar von C: \ Programme \ Java \ jre1.8.0_112 \ lib nach C: \ Programme \ Java \ jdk1.8.0_112 \ lib kopiert, sodass ich zwei tools.jar habe Dateien statt einer und Problem verschwunden.
quelle
wenn du jdk installiert hast dann
..Java/jdkx.x.x
Ordner muss dort also im Stall vorhanden sein und vollständigen Pfad wie geben
quelle
Stellen Sie sicher, dass Ihr Klassenpfad richtig eingestellt ist und auf die richtige Version des von Ihnen installierten JDK verweist. Verwenden Sie auch Open JDK? Ich hatte dieses Problem schon einmal, nachdem ich versucht hatte, von Open JDK zu Suns JDK zu wechseln. Dies ist ein Beispiel dafür, wie dieses Problem behoben werden kann.
quelle
maven-compiler-plugin benutze jdk, nicht jre, tools.jar befindet sich in C: \ Programme \ Java \ jdk1.6.0 \ lib \ tools.jar. Sie müssen das Projekt JRE System Libary mit jdk konfigurieren, nicht mit jar. Dies ist die einfachste Lösung.
quelle
quelle
Für mich, was funktioniert: Ich habe eine alte Version von Java 1.7 heruntergeladen
Ich habe mein JAVA_HOME tatsächlich aus C: / Programmdateien X86 / Java festgelegt, ABER nachdem ich die Version 1.7 installiert hatte, hatte ich ein anderes Java in Programmdateien / Java. Und in diesem Moment habe ich die tools.jar hier gefunden. Dann habe ich mich für diesen neuen Weg geändert und er funktioniert
quelle
Ich hatte auch den gleichen Fehler. Dies wurde entfernt, nachdem der Java_Home-Pfad auf C: \ Programme \ Java \ jdk1.8.0_121 gesetzt wurde. Stellen Sie sicher, dass bin nicht im Pfad enthalten ist und nach jdk1.8.0_121 kein Schrägstrich vorhanden ist, nachdem Sie% JAVA_HOME% \ bin in der Systempfadvariablen definiert haben.
quelle
Wenn Sie sich in einer RHEL-Umgebung befinden, endet der Paketname mit tools.jar mit "openjdk-devel".
quelle
Dies ist die Lösung für Windows: in Computer> Erweiterte Systemeinstellungen> Erweitert> Umgebungsvariablen ... , fügen Sie diese in Systemvariablen :
quelle
Ich habe tools.jar heruntergeladen und danach in der Fehlermeldung in den Pfad kopiert.
C: \ Programme \ Java \ jdk-11.0.1 \ bin> hier einfügen tools.jar
Danach habe ich Spring Tool Suit 4 neu gestartet und alles hat funktioniert. Als ich versuchte, dieses Problem zu beheben, habe ich eine neue Umgebungsvariable erstellt: Systemsteuerung / System / Advenced / Umgebungsvariablen / neuer Name: JAVA_HOME Wert: C: \ Programme \ Java \ jdk-11.0.1 Aber ich weiß nicht, ist es ist notwendig.
quelle
Möglicherweise haben Sie die JREs im Betriebssystem aktualisiert, und durch Hinzufügen wurde im "Pfad" der Umgebungsvariablen ein Eintrag "... / Oracle / jer" hinzugefügt, der Ihr JAVA_HOME überschreibt. Versuchen Sie, es aus dem "Pfad" zu entfernen, indem Sie JAVA_HOME verlassen.
quelle
Falls es hilft, war das Problem für mich, dass ich 2 Einträge in meiner PATH-Umgebungsvariablen hatte, die auf einen Speicherort zeigten, der die ausführbare Javaw-Datei enthielt.
Ich habe die Variable bereinigt, um sicherzustellen, dass "% JAVA_HOME% \ bin" der einzige Eintrag ist, der auf einen Speicherort verweist, der meine ausführbaren Java-Dateien enthält.
quelle