Używam doclets javadoc z gradle, więc muszę użyć pakietu tools.jar, który znajduje się w folderze lib z jdk (w moim przypadku 1.6.0_26).
Chodzi o to, że gradle nie bierze tego automatycznie, więc dodawałem ten pakiet narzędzi do mojego folderu libs, a następnie dodawałem go do dependencies.gradle.
Teraz chcę go zabrać bezpośrednio z mojego domu JDK do moich zależności. Czy jest na to sposób? Próbowałem następnego w moich zależnościach. Stopień:
compile files("${System.properties['java.home']}/lib/tools.jar")
Ale nie znajduje go podczas kompilacji.
Odpowiedzi:
Miałem ten problem, gdy próbowałem uruchamiać polecenia przez CLI.
Był to problem z przeglądaniem przez system folderu JRE, tj
D:\Program Files\Java\jre8\bin
. Jeśli tam zajrzymy, nie maTools.jar
, stąd błąd.Musisz znaleźć, gdzie
JDK
jest, w moim przypadku:D:\Program Files\Java\jdk1.8.0_11
i jeśli zajrzysz dolib
katalogu, zobaczyszTools.jar
.Co zrobiłem, stworzyłem nową zmienną środowiskową
JAVA_HOME
:Następnie musisz edytować zmienną PATH, aby zawierała JAVA_HOME, tj
%JAVA_HOME%/bin;
Otwórz ponownie wiersz polecenia i powinien zostać uruchomiony.
źródło
%JAVA_HOME%\lib;
nie znajduje się wbin
folderze.%JAVA_HOME%/bin
i%JAVA_HOME%/lib
doPath
zmiennej?Znalazłem to. Właściwość systemowa „java.home” nie jest zmienną środowiskową JAVA_HOME. JAVA_HOME wskazuje na JDK, a java.home wskazuje na JRE. Zobacz tę stronę, aby uzyskać więcej informacji.
Więc ... Mój problem polegał na tym, że moim punktem startowym był folder jre (C: \ jdk1.6.0_26 \ jre), a nie folder jdk (C: \ jdk1.6.0_26), jak myślałem (tools.jar znajduje się w C : \ jdk1.6.0_26 \ lib). Kompiluj wiersz w zależności. Gradle powinien być:
źródło
Ten sam błąd wystąpił podczas próby wykonania zadania Gradle za pomocą Eclipse. Za każdym razem, gdy uruchamiam polecenie (tj. Wojnę), proces rzucał wyjątek, taki jak:
Wypróbowałem rozwiązanie wymienione w tym poście, ale żadne z nich nie rozwiązało tego problemu. Oto moje rozwiązanie:
Uruchom ponownie, ciesz się!
źródło
Właśnie dodałem
gradle.properties
plik z następującą zawartością:źródło
~/.gradle/gradle.properties
plik, dodającorg.gradle.java.home=/usr/lib/jvm/java
. Działa dla mnie w Fedorze 24.Miałem podobny przypadek, używając Ubuntu . Maszyna miała tylko zainstalowane środowisko JRE . Właśnie wykonałem poniższe polecenie, aby zainstalować JDK .
sudo apt install openjdk-8-jdk
źródło
Ja również walczyłem o to rozwiązanie. Znalazłem lepszy sposób na to z Gradle, jak opisano tutaj . Informacje o JVM / JDK możemy uzyskać od samego Gradle.
Tak prosty.
źródło
compile
zamiastruntime
NullPointerException
.W CentOS7 pakiet deweloperski zainstaluje tools.jar. Pliku nie ma w java-1.8.0-openjdk
sudo yum install java-1.8.0-openjdk-devel
źródło
Dodaj to do
gradle.properties
:źródło
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_144\
.Może już dwa lata za późno, ale ostatnio napotkałem ten sam problem i oto rozwiązanie, które znalazłem po znalezieniu tego wpisu :
Powinno działać, jeśli java.home wskazuje na katalog, który nie znajduje się w katalogu JDK, a nawet w systemie Mac OS, w którym byłby plik classes.jar zamiast tools.jar.
źródło
W przypadku Centos 7 odkryłem, że tylko JDK ma
tools.jar
, podczas gdy JRE nie . Zainstalowałem JRE Java 8 (yum install java-1.8.0-openjdk
), ale nie JDK (yum install java-1.8.0-openjdk-devel
).Zainstalowanie tego ostatniego rozwiązuje problem. Pamiętaj też, aby ustawić
JAVA_HOME
.źródło
W systemie Windows 10 napotykam ten sam problem i tak go naprawiłem;
Advance System Settings>Environment Variables>System Variables
C:\ProgramData\Oracle\Java\javapath
C:\Program Files\Java\jdk1.8.0_162
źródło
W moim systemie (Win 10, JRE 1.8.0, Android Studio 3.1.2, Gradle 4.1) nie ma
tools.jar
w katalogu JRE (C:\Program Files\Java\jre1.8.0_171
).Jednak znalazłem to
C:\Program Files\Android\Android Studio\jre\lib
i spróbowałem ustawićJAVA_HOME=C:\Program Files\Android\Android Studio\jre
To działa (dla mnie)!
źródło
org.gradle.java.home=E:\\Android Studio\\jre
Linux
Otwórz
/etc/environment
w dowolnym edytorze tekstu, takim jak nano lub gedit, i dodaj następujący wiersz:Windows
W sekcji Zmienne systemowe kliknij przycisk Dodaj, a następnie wklej następujące wiersze:
w nazwie zmiennej:
JAVA_HOME
w zmiennej wartości:
C:\Program Files\Java\jdk1.x.x_xxx
gdzie
x.x_xxx
wersję jdk można pobrać stąd wersję jdkC:\Program Files\Java
W sekcji Zmienne systemowe wybierz opcję Ścieżka, a następnie kliknij przycisk Edytuj, a następnie kliknij nowy przycisk, a następnie za następującym wierszem:
%JAVA_HOME%/bin;
źródło
JAVA_HOME="/usr/lib/jvm/java-openjdk"
To zadziałało dla mnie:
Otrzymałem wiadomość
źródło
Jeśli używasz terminala do budowania i masz ten błąd, możesz wskazać jdk w pakiecie z Android Studio w swoim
gradle.properties
pliku:źródło
Podobnie jak inne odpowiedzi, ustawiłem właściwość org.gradle.java.home w pliku gradle.properties . Ale ścieżka z separatorami \ nie działała (budowanie w systemie Windows 10):
Więc zamiast
musiałem użyć
potem budowa się powiodła
Problem polega na tym, że projekt jest budowany za pomocą JRE zamiast JDK, a ponieważ budowałem go z zaćmienia, to również działało:
źródło
W moim przypadku (Windows 10) po aktualizacji Java straciłem zmienne środowiskowe, więc poprawiłem ponownie dodane zmienne, w oparciu o następujące kroki https://confluence.atlassian.com/doc/setting-the-java_home-variable-in -windows-8895.html
źródło
Rozwiązałem problem w ten sposób:
źródło
C:\Program Files (x86)\Java\jre1.8.0_211
iC:\Program Files (x86)\Java\jre1.8.0_251
Czy upewniłeś się, że tools.jar znalazło się na ścieżce kompilacji? Może ścieżka jest nieprawidłowa.
źródło
Dodanie ścieżki JDK za pośrednictwem zakładki JAVA_HOME w „Open Gradle Run Configuration” rozwiąże problem.
źródło
Wypróbowałem większość najlepszych opcji, ale wygląda na to, że coś jest nie tak z konfiguracją środowiska, więc nie pomogły. Co rozwiązało problem dla mnie było, aby ponownie zainstalować
jdk1.8.0_201
, ajre1.8.0_201
i to rozwiązać błędu dla mnie. Mam nadzieję, że to komuś pomoże.źródło