Buduję projekt w Javie.
Mam ten błąd:
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Zainstalowałem JDK i folder: C:\Program Files\Java\jre6\libjest w moim systemie, ale pliku tools.jartam nie ma.
Buduję projekt w Javie.
Mam ten błąd:
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Zainstalowałem JDK i folder: C:\Program Files\Java\jre6\libjest w moim systemie, ale pliku tools.jartam nie ma.
Odpowiedzi:
Tak, pobrałeś i zainstalowałeś środowisko Java Runtime Environment (JRE) zamiast Java Development Kit (JDK). Ten ostatni zawiera narzędzia.jar, java.exe, javac.exe itp.
# apt-get install default-jdki błąd znika.
JAVA_HOMEustawić się w jreśrodku jdkzamiast w samym jdksobie.
W przypadku, gdy jest to nadal problem dla każdego, wyjaśnię poprzednie odpowiedzi. Napotkałem ten sam problem przy użyciu ant z zainstalowanym tylko JDK. Chociaż instalator JDK dał mi taką strukturę katalogów:
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
a kiedy uruchomiłem mrówkę, narzekałem na to, że nie znalazłem tools.jar w podkatalogu jre7. Dopiero set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_04"gdy błąd zniknął.
Zainstaluj Java SDK .
Dodaj zmienną środowiska systemowego o nazwie JAVA_HOME z wartością położenia JDK.
Przejdź do Panelu sterowania \ System i zabezpieczenia \ System. Zaawansowane ustawienia systemu, zmienne środowiskowe, zmienne systemowe, nowe ... Przykład:
Nazwa zmiennej: JAVA_HOME
Wartość zmiennej: C: \ Program Files \ Java \ jdk1.7.0_21
Zamknij / ponownie otwórz okno CMD, aby nowa zmienna zadziałała przed ponownym uruchomieniem komendy ant.
PATH z /bin , JAVA_HOME bez /bin
Miałem ten sam problem i kopiowanie C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar aby C:\Program Files\Java\jre6\lib\ext pracował dla mnie
Nie, zgodnie ze strukturą katalogów zainstalowałeś JRE, a nie JDK. Jest różnica.
C:\Program Files\Java\jre6\lib
^^^^
Powinno to być coś takiego:
C:\Program Files\Java\jdk1.6.0_24
Jeśli zainstalowałeś JDK 9.0.1, będziesz miał również ten problem, ponieważ plik tools.jar jest przestarzały. Zobacz dokument migracji .
Nie marnuj zbyt wiele czasu na szukanie tools.jar. Jeśli pojawi się taki błąd, nie denerwuj się.
Jeśli masz już Java JDK 1.5, przejdź do libfolderu i tools.jarpowinna tam być dostępna. Skopiuj i wklej w binfolderze mrówek , a następnie spróbuj użyć polecenia ant -version.
Powinieneś zobaczyć oczekiwany wynik.
Miałem ten sam problem na maszynie z linuksem. Na początku byłem bardzo sfrustrowany, ponieważ zainstalowałem zarówno JDK, jak i JRE. Używam jednocześnie wersji 1.6, 1.7 i 1.8 i dużo grałem z alternatywami, aby wszystko było ustawione poprawnie.
Problem był głupi do rozwiązania, ale sprzeczny z intuicją. Podczas korzystania z prawidłowego pakietu JDK zwracałem uwagę na ścieżkę narzędzi, na które narzekał maven jar - spodziewałem się, że będzie
$JAVA_HOME\..\lib\tools.jar
$JAVA_HOMEZmienna wskazał bezpośrednio do mojego jdkfolderu ( /usr/local/javaktóry również był poprawny $PATHwpis i alternatywne łącza sym). W rzeczywistości szuka libfolderu poza katalogiem Java, ponieważ:
$JAVA_HOME\..\lib\tools.jar
rozwiąże do
/usr/local/lib/tools.jar
i to nie jest poprawna lokalizacja.
Aby rozwiązać ten problem, $JAVA_HOMEzmienna powinna zamiast tego wskazywać tę lokalizację /usr/local/java/jre(zakładając, że jest to ścieżka JDK /usr/local/java) - w jrekatalogu instalacyjnym JDK znajduje się folder, który jest dostarczany z każdym JDK. Ta nowa konfiguracja spowoduje, że maven zajrzy do katalogu JRE, który jest częścią JDK:
$JAVA_HOME\..\lib\tools
który teraz rozwiązuje
/usr/local/java/jre/../lib/tools.jar
i wreszcie do
/usr/local/java/lib/tools.jar
gdzie tools.jarnaprawdę mieszka.
Zatem nawet jeśli używasz JDK zamiast JRE, $ JAVA_HOME musi wskazywać na JRE. Pamiętaj, że alternatywa dla systemu operacyjnego powinna nadal odnosić się do JDK.
przejdź do ścieżki jdk, w której zainstalowałeś java
Na przykład na moim komputerze JDK zainstalowany w następującej ścieżce
„C: \ Program Files \ Java \ jdk1.7.0_17 \”;
Po przejściu do folderu lib np. „C: \ Program Files \ Java \ jdk1.7.0_17 \ lib”
w katalogu lib znajduje się plik tool.jar
Skopiuj ten plik i wklej go w katalogu lib forlder katalogu jre7 np
„C: \ Program Files \ Java \ jre7 \ lib”
Miałem ten sam problem, nawet po zainstalowaniu Java JDK oraz zestaw JAVA_HOMEdo ..\jdk1.6.0_45\binfolderu.
Ant wciąż próbuje znaleźć tools.jarw C:\Program Files\Java\jre6\libfolderze.
Naprawiłem go poprzez dodanie JAVACMDzmiennej środowiskowej i ustawić ścieżkę do niego java.exew jdkfolderze.
W moim przypadku tak byłoC:\Program Files\Java\jdk1.6.0_45\bin\java.exe
Możesz napotkać podobny problem na Ubuntu:
Embedded error: tools.jar not found: /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar
Problem dotyczy JAVA_HOME, który nie jest poprawnie ustawiony.
Tak więc na Ubuntu 14.04 x64 przy użyciu Java8:
sudo apt-get install openjdk-8-jdk openjdk-8-jre
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
zostało to rozwiązane ze mną w systemie Windows poprzez ustawienie zmiennej JAVA_HOME przed uruchomieniem w następujący sposób:
ustaw JAVA_HOME = C: \ Program Files \ Java \ jdk1.8.0_111
Jak wiele osób wspomniało, wygląda na to, że szukasz pliku JRE zamiast JDK dla pliku tools.jar.
Chciałbym również wspomnieć, że w najnowszych wersjach JDK nie ma już pliku tools.jar. Pobrałem najnowszą wersję JDK na dzień dzisiejszy (wersja 12 JDK) i nie mogłem znaleźć narzędzi tools.jar. Musiałem pobrać JDK wersja 8 (1.8.0) tutaj https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, aby uzyskać plik tools.jar. Pobrałem tę wersję, wziąłem plik tools.jar i umieściłem go w folderze lib mojej najnowszej wersji.
Upewnij się, że zarówno ścieżka% JAVA_HOME%, jak i% JAVA_HOME% / bin są dodane do zmiennej PATH.
Wszystkie odpowiedzi dotyczące kopiowania tools.jar w prawidłową pozycję to w najlepszym razie kiepski pomysł.
Upewnij się, że Twoje IDE może znaleźć te słoiki zgodnie z przeznaczeniem.
W oknie Eclipse> preferencje> Java> Zainstalowałem JRE, wskazałem katalog na katalog jre w jdk 1.7 i pracowałem dla mnie plik np. C: \ Program Files \ Java \ jdk1.7.0_71 \ jre
Miałem moją JDK_path ( C:\Program Files\Java\jdk1.7.0_79) w mojej, JAVA_HOMEa także JDK_path \ bin w mojej PATH. Ale nadal moja mrówka używała JRE zamiast JDK.
Problem polegał na tym, że miałem C:\ProgramData\Oracle\Java\javapathmoją PATHzmienną JDK_path . Po prostu przesunąłem ścieżkę JDK_przed wyrocznią i problem został rozwiązany.
rozwiązując ten problem, po prostu skopiowałem plik tools.jar z C: \ Program Files \ Java \ jre1.8.0_112 \ lib do C: \ Program Files \ Java \ jdk1.8.0_112 \ lib, więc mam dwa tools.jar pliki zamiast jednego i problem zniknął.
Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
jeśli zainstalowałeś jdk, to
..Java/jdkx.x.x
folder musi tam istnieć, więc w przeciągnij go i podaj pełną ścieżkę jak
C:\Program Files\Java\jdk1.6.0\lib\tools.jar
Dla mnie to, co działa: Pobrałem starą wersję Java 1.7
Właściwie ustawiłem JAVA_HOME z plików programu C: / X86 / Java ALE po zainstalowaniu wersji 1.7 miałem inną Javę w plikach programu / Java. I w tym momencie znalazłem tutaj tools.jar. Potem zmieniłem na tę nową ścieżkę i działa
Jeśli jesteś w środowisku RHEL, nazwa pakietu zawierającego tools.jar kończy się na „openjdk-devel”.
Pobrałem tools.jar, a następnie skopiowałem go do ścieżki w komunikacie o błędzie.
C: \ Program Files \ Java \ jdk-11.0.1 \ bin> wklej tutaj tools.jar
Następnie ponownie uruchomiłem Spring Tool Suit 4 i wszystko działało. Kiedy próbowałem rozwiązać ten problem, utworzyłem nową zmienną środowiskową: Panel sterowania / System / Advised / Zmienne środowiskowe / nowa nazwa: JAVA_HOME Wartość: C: \ Program Files \ Java \ jdk-11.0.1 Ale nie wiem, czy to to konieczne.
Ponieważ pomaga, problem polegał na tym, że miałem 2 wpisy w mojej zmiennej środowiskowej PATH, które wskazywały na lokalizację zawierającą plik wykonywalny javaw.
Wyczyściłem zmienną, aby upewnić się, że „% JAVA_HOME% \ bin” był jedynym wpisem odnoszącym się do lokalizacji zawierającej moje pliki wykonywalne Java.