Ik bouw een project in Java.
Ik heb deze fout:
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Ik heb een JDK geïnstalleerd en de map: C:\Program Files\Java\jre6\lib
staat in mijn systeem, maar het bestand tools.jar
is er niet .
Antwoord 1, autoriteit 100%
Ja, u heeft de Java Runtime Environment (JRE) gedownload en geïnstalleerd in plaats van de Java Development Kit (JDK). De laatste heeft de tools.jar, java.exe, javac.exe, enz.
Antwoord 2, autoriteit 46%
Als dit voor iemand nog steeds een probleem is, heb ik een beetje verduidelijking over de eerdere antwoorden. Ik kwam hetzelfde probleem tegen met ant met alleen een JDK geïnstalleerd. Hoewel, het JDK-installatieprogramma gaf me een directorystructuur zoals deze:
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
en toen ik ant uitvoerde, klaagde het over het niet vinden van tools.jar onder de jre7-subdirectory. Pas toen ik set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"
instelde, verdween de fout.
Antwoord 3, autoriteit 21%
-
Installeer de Java SDK.
-
Voeg een systeemomgevingsvariabele toe met de naam JAVA_HOMEmet de waarde van JDK-locatie.
Ga naar Configuratiescherm\Systeem en beveiliging\Systeem. Geavanceerde systeeminstellingen, omgevingsvariabelen, systeemvariabelen, nieuw… Voorbeeld:
Variabelenaam:JAVA_HOME
Variabele waarde: C:\Program Files\Java\jdk1.7.0_21 -
Sluit/open uw CMD-venster opnieuw zodat de nieuwe variabele van kracht wordt voordat u probeert het ant-commando opnieuw uit te voeren.
Antwoord 4, autoriteit 16%
Ik had hetzelfde probleem en kopieerC:\Program Files\Java\jdk1.6.0_26\lib\tools.jar
naarC:\Program Files\Java\jre6\lib\ext
werkte voor mij
Antwoord 5, autoriteit 5%
Stel uw omgevingsvariabele JAVA_HOME
zo in dat deze verwijst naar C:\Program Files\Java\jdk1.7.0_02
.
Antwoord 6, autoriteit 5%
Als je Linux gebruikt, kun je dit oplossen door java op het systeem te installeren:
sudo apt-get install openjdk-7-jdk openjdk-7-jre
Antwoord 7, autoriteit 5%
Als je JDK 9.0.1 hebt geïnstalleerd, heb je dit probleem ook omdat tools.jar is verouderd. Zie migratiedocument.
Antwoord 8, autoriteit 4%
Nee, volgens uw directorystructuur heeft u een JRE geïnstalleerd, geen JDK. Er is een verschil.
C:\Program Files\Java\jre6\lib
^^^^
Het zou zoiets moeten zijn als:
C:\Program Files\Java\jdk1.6.0_24
Antwoord 9, autoriteit 3%
Verspil niet te veel tijd aan het zoeken naar tools.jar
. Als je zo’n foutmelding krijgt, wees dan niet boos.
Als je al java JDK 1.5 hebt, ga dan naar je lib
map, en de tools.jar
zou daar beschikbaar moeten zijn. Kopieer en plak het in je ant bin
-map en probeer vervolgens het commando ant -version
te gebruiken.
U zou het verwachte resultaat moeten zien.
Antwoord 10, autoriteit 2%
Ik had hetzelfde probleem op een Linux-machine. In het begin was ik behoorlijk gefrustreerd, omdat ik zowel de JDK als JRE heb geïnstalleerd. Ik gebruik versie 1.6, 1.7 en 1.8 tegelijkertijd en ik heb veel met de alternatieven gespeeld om alles goed in te stellen.
Het probleem was nogal dom om op te lossen, maar contra-intuïtief. Terwijl ik de juiste JDK gebruikte, besteedde ik aandacht aan het pad van de tools waar Jar Maven over klaagde – het verwachtte dat het zou zijn
$JAVA_HOME\..\lib\tools.jar
De variabele $JAVA_HOME
wees rechtstreeks naar mijn map jdk
(/usr/local/java
die ook de juiste $PATH
-invoer en alternatieve sym-link). Het zoekt in feite naar de lib
-map buitende java-directory, omdat:
$JAVA_HOME\..\lib\tools.jar
zal oplossen
/usr/local/lib/tools.jar
en dat is geen geldige locatie.
Om dit op te lossen, moet de variabele $JAVA_HOME
naar deze locatie verwijzen /usr/local/java/jre
(ervan uitgaande dat het JDK-pad /usr/local/java
) — er is eigenlijk een map jre
in de JDK-installatiemap, die bij elke JDK wordt geleverd. Deze nieuwe setup zorgt ervoor dat maven naar de JRE-directory kijkt, die deel uitmaakt van de JDK:
$JAVA_HOME\..\lib\tools
wat nu wordt opgelost
/usr/local/java/jre/../lib/tools.jar
en tot slot
/usr/local/java/lib/tools.jar
daar zit de tools.jar
echt.
Dus zelfs als jullie inderdaad de JDK gebruiken in plaats van de JRE, moet de $JAVA_HOME naar de JRE verwijzen. Onthoud dat het OS-alternatief nog steeds naar de JDK moet verwijzen.
Antwoord 11, autoriteit 2%
ga naar je jdk-pad waar je je java hebt geïnstalleerd
Voor bijv. In mijn pc JDK geïnstalleerd in het volgende pad
“C:\Program Files\Java\jdk1.7.0_17\”;
Ga daarna naar de lib-map, bijvoorbeeld “C:\Program Files\Java\jdk1.7.0_17\lib”
in de lib directory staat het tool.jar bestand
Kopieer dit bestand en plak het in de lib-forlder van de jre7-directory
voor bijv.
“C:\Program Files\Java\jre7\lib”
Antwoord 12, autoriteit 2%
U kunt een soortgelijk probleem tegenkomen op Ubuntu:
Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar
Het probleem is met JAVA_HOME dat niet goed is ingesteld.
Dus, op Ubuntu 14.04 x64 met Java8:
sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Antwoord 13
Ik had hetzelfde probleem, zelfs nadat ik Java JDK had geïnstalleerd en de map JAVA_HOME
in de map ..\jdk1.6.0_45\bin
had gezet.
Ant probeert nog steeds tools.jar
te vinden in de map C:\Program Files\Java\jre6\lib
.
Ik heb het opgelost door de omgevingsvariabele JAVACMD
toe te voegen en het pad ervoor in te stellen naar java.exe
in de map jdk
.
In mijn geval was het C:\Program Files\Java\jdk1.6.0_45\bin\java.exe
Antwoord 14
het is bij mij opgelost in Windows OS door de JAVA_HOME variabele in te stellen voordat het als volgt wordt uitgevoerd:
stel JAVA_HOME=C:\Program Files\Java\jdk1.8.0_111 in
Antwoord 15
Zoals veel mensen al zeiden, lijkt het erop dat u in uw JRE zoekt in plaats van in de JDK naar het tools.jar-bestand.
Ik wil ook vermelden dat er in recente versies van de JDK geen tools.jar-bestand meer is. Ik heb de meest recente JDK vanaf vandaag gedownload (JDK versie 12) en ik kon geen tools.jar vinden. Ik moest JDK versie 8 (1.8.0) hier downloaden https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlom het tools.jar-bestand op te halen. Ik heb die versie gedownload, het bestand tools.jar genomen en in de lib-map van mijn recente versie geplaatst.
Antwoord 16
Zorg ervoor dat zowel het %JAVA_HOME% als het %JAVA_HOME%/bin-pad wordt toegevoegd aan uw PATH-variabele.
Alle antwoorden over het kopiëren van tools.jar naar de juiste positie is op zijn best een slecht idee.
Zorg ervoor dat uw IDE deze potten kan vinden op de manier waarop deze is ontworpen en bedoeld.
Antwoord 17
In eclipsvenster> voorkeuren>Java> JRE geïnstalleerd, ik wees de map naar de jre-map in de jdk 1.7 en ik werkte aan het bestand voor mij
bijv. C:\Program Files\Java\jdk1.7.0_71\jre
Antwoord 18
Ik had mijn JDK_path (C:\Program Files\Java\jdk1.7.0_79
) in mijn JAVA_HOME
en ook de JDK_path\bin in mijn PATH
. Maar toch gebruikte mijn mier de JRE in plaats van JDK.
Het probleem was dat ik C:\ProgramData\Oracle\Java\javapath
voor mijn JDK_path in de variabele PATH
had. Ik heb gewoon mijn JDK_path voor het orakelpad verplaatst en het probleem is opgelost.
Antwoord 19
dit probleem oplossen Ik heb eenvoudig het bestand tools.jar gekopieerd van C:\Program Files\Java\jre1.8.0_112\lib naar C:\Program Files\Java\jdk1.8.0_112\lib zodat ik er twee heb tools.jar-bestanden in plaats van één en het probleem is verdwenen.
Antwoord 20
Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
als je jdk hebt geïnstalleerd,
..Java/jdkx.x.x
map moet daar bestaan, dus installeer hem en geef het volledige pad zoals
C:\Program Files\Java\jdk1.6.0\lib\tools.jar
Antwoord 21
Zorg ervoor dat uw klassenpad correct is ingesteld en verwijst naar de juiste versie van de JDK die u hebt geïnstalleerd. Gebruik je ook Open JDK? Ik heb dit probleem eerder gehad nadat ik probeerde over te stappen van open JDK naar Suns JDK. Ditis een voorbeeld van hoe dat probleem kan worden opgelost.
Antwoord 22
maven-compiler-plugin gebruik jdk , niet jre,
tools.jar bevindt zich in C:\Program Files\Java\jdk1.6.0\lib\tools.jar
je moet het JRE-systeembibliotheek van het project configureren met jdk, niet met jar. Dit is de eenvoudigste oplossing.
Antwoord 23
- Klik met de rechtermuisknop op je mierenbestand
- Ga naar “Uitvoeren als” en klik vervolgens op “Ant Build…”
- Ga naar het tabblad “JRE”
- Selecteer een JDK en geen JRE
Antwoord 24
Voor mij werkt het: ik heb een oude versie van Java 1.7 gedownload
Ik heb mijn JAVA_HOME eigenlijk ingesteld vanuit C:/programmabestanden X86/Java MAAR nadat ik de 1.7-versie had geïnstalleerd, had ik een andere Java in programmabestanden/Java. En op dit moment vond ik hier de tools.jar. Toen veranderde ik voor dit nieuwe pad en het werkt
Antwoord 25
Ik kreeg ook te maken met dezelfde fout.
Dit is verwijderd nadat het Java_Home-pad is ingesteld op C:\Program Files\Java\jdk1.8.0_121.
Zorg ervoor dat bin niet is opgenomen in het pad en dat er geen schuine streep staat achter jdk1.8.0_121 nadat u %JAVA_HOME%\bin hebt gedefinieerd in de systeempadvariabele.
Antwoord 26
Als u zich in een RHEL-omgeving bevindt, zou de pakketnaam met tools.jar eindigen op “openjdk-devel”.
Antwoord 27
Dit is de oplossing voor Windows: in Computer > Geavanceerde systeeminstellingen > Geavanceerd > Omgevingsvariabelen…, voeg dit toe in Systeemvariabelen:
Antwoord 28
Ik heb tools.jar gedownload en daarna gekopieerd naar het pad in de foutmelding.
C:\Program Files\Java\jdk-11.0.1\bin > plak hier tools.jar
Daarna heb ik Spring Tool Suit 4 opnieuw opgestart en alles werkte.
Toen ik dat probleem probeerde op te lossen, heb ik een nieuwe omgevingsvariabele gemaakt:
Configuratiescherm / Systeem / Geavanceerd / Omgevingsvariabelen / nieuw
Naam: JAVA_HOME
Waarde: C:\Program Files\Java\jdk-11.0.1
Maar ik weet niet of het nodig is.
Antwoord 29
misschien heeft u de JRE’s in het besturingssysteem bijgewerkt en heeft de toevoeging in het “pad” van de omgevingsvariabelen een item “…/Oracle/jer” toegevoegd dat uw JAVA_HOME overschrijft.
probeer het van het “pad” te verwijderen door JAVA_HOME te verlaten.
Antwoord 30
Als het helpt, was het probleem voor mij dat ik 2 vermeldingen in mijn PATH-omgevingsvariabele had die naar een locatie met het uitvoerbare javaw-bestand wezen.
Ik heb de variabele opgeschoond om er zeker van te zijn dat “%JAVA_HOME%\bin” de enige vermelding was die verwijst naar een locatie die mijn uitvoerbare Java-bestanden bevat.