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\lib
jest w moim systemie, ale pliku tools.jar
tam 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.
źródło
# apt-get install default-jdk
i błąd znika.JAVA_HOME
ustawić się wjre
środkujdk
zamiast w samymjdk
sobie.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:
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ął.źródło
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.
źródło
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
abyC:\Program Files\Java\jre6\lib\ext
pracował dla mnieźródło
Ustaw swoją
JAVA_HOME
zmienną środowiskową, aby wskazywałaC:\Program Files\Java\jdk1.7.0_02
.źródło
Jeśli jesteś w systemie Linux, możesz rozwiązać ten problem, instalując java w systemie:
źródło
Nie, zgodnie ze strukturą katalogów zainstalowałeś JRE, a nie JDK. Jest różnica.
Powinno to być coś takiego:
źródło
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 .
źródło
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
lib
folderu itools.jar
powinna tam być dostępna. Skopiuj i wklej wbin
folderze mrówek , a następnie spróbuj użyć poleceniaant -version
.Powinieneś zobaczyć oczekiwany wynik.
źródło
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
Zmienna wskazał bezpośrednio do mojegojdk
folderu (/usr/local/java
który również był poprawny$PATH
wpis i alternatywne łącza sym). W rzeczywistości szukalib
folderu poza katalogiem Java, ponieważ:rozwiąże do
i to nie jest poprawna lokalizacja.
Aby rozwiązać ten problem,
$JAVA_HOME
zmienna powinna zamiast tego wskazywać tę lokalizację/usr/local/java/jre
(zakładając, że jest to ścieżka JDK/usr/local/java
) - wjre
katalogu 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:który teraz rozwiązuje
i wreszcie do
gdzie
tools.jar
naprawdę 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.
źródło
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”
źródło
Miałem ten sam problem, nawet po zainstalowaniu Java JDK oraz zestaw
JAVA_HOME
do..\jdk1.6.0_45\bin
folderu.Ant wciąż próbuje znaleźć
tools.jar
wC:\Program Files\Java\jre6\lib
folderze.Naprawiłem go poprzez dodanie
JAVACMD
zmiennej środowiskowej i ustawić ścieżkę do niegojava.exe
wjdk
folderze.W moim przypadku tak było
C:\Program Files\Java\jdk1.6.0_45\bin\java.exe
źródło
Możesz napotkać podobny problem na Ubuntu:
Problem dotyczy JAVA_HOME, który nie jest poprawnie ustawiony.
Tak więc na Ubuntu 14.04 x64 przy użyciu Java8:
źródło
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
źródło
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.
źródło
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.
źródło
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
źródło
Miałem moją JDK_path (
C:\Program Files\Java\jdk1.7.0_79
) w mojej,JAVA_HOME
a także JDK_path \ bin w mojejPATH
. Ale nadal moja mrówka używała JRE zamiast JDK.Problem polegał na tym, że miałem
C:\ProgramData\Oracle\Java\javapath
mojąPATH
zmienną JDK_path . Po prostu przesunąłem ścieżkę JDK_przed wyrocznią i problem został rozwiązany.źródło
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ął.
źródło
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
źródło
Upewnij się, że ścieżka klasy jest ustawiona poprawnie i wskazuje poprawną wersję zainstalowanego pakietu JDK. Ponadto używasz Open JDK? Ten problem występował już wcześniej po próbie przejścia z otwartego JDK do Suns JDK. To jest przykład tego, jak można rozwiązać ten problem.
źródło
maven-compiler-plugin use jdk, a nie jre, tools.jar znajduje się w C: \ Program Files \ Java \ jdk1.6.0 \ lib \ tools.jar, musisz skonfigurować projekt JRE System Libary za pomocą jdk, a nie jar. To jest najprostsze rozwiązanie.
źródło
źródło
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
źródło
Miałem również ten sam błąd. Zostało to usunięte po ustawieniu ścieżki Java_Home na C: \ Program Files \ Java \ jdk1.8.0_121. Upewnij się, że bin nie jest uwzględniony w ścieżce i nie ma ukośnika po jdk1.8.0_121 po zdefiniowaniu% JAVA_HOME% \ bin w zmiennej ścieżki systemowej.
źródło
Jeśli jesteś w środowisku RHEL, nazwa pakietu zawierającego tools.jar kończy się na „openjdk-devel”.
źródło
Oto rozwiązanie dla systemu Windows: w Komputer> Zaawansowane ustawienia systemu> Zaawansowane> Zmienne środowiskowe ... dodaj to w Zmienne systemowe :
źródło
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.
źródło
być może zaktualizowałeś środowisko JRE w systemie operacyjnym, a dodatek dodał w „ścieżce” zmiennych środowiskowych wpis „... / Oracle / jer”, który zastępuje twój JAVA_HOME. spróbuj usunąć go z „ścieżki”, pozostawiając JAVA_HOME.
źródło
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.
źródło