Ik gebruik javadoc-doclets met gradle, dus ik moet het pakket tools.jar gebruiken, dat zich in de lib-map van de jdk (1.6.0_26 in mijn geval) bevindt.
Het punt is dat gradle het niet automatisch aanneemt, dus ik was dat pakket met tools aan mijn libs-map aan het toevoegen en vervolgens aan dependencies.gradle toe.
Nu wil ik het rechtstreeks van mijn JDK-huis meenemen naar mijn dependencies.gradle. Is er een manier om dat te doen? Ik heb de volgende geprobeerd in mijn dependencies.gradle:
compile files("${System.properties['java.home']}/lib/tools.jar")
Maar het vindt het niet tijdens het compileren.
Antwoord 1, autoriteit 100%
Ik had dit probleem toen ik opdrachten probeerde uit te voeren via CLI.
Het was een probleem met het systeem dat naar de JRE-map keek, d.w.z.
D:\Program Files\Java\jre8\bin
. Als we daar naar binnen kijken, is er geen tools.jar
, vandaar de fout.
Je moet zoeken waar de JDK
is, in mijn geval: D:\Program Files\Java\jdk1.8.0_11
, en als je in de lib
directory, ziet u tools.jar
.
Wat ik deed Ik heb een nieuwe omgevingsvariabele JAVA_HOME
gemaakt:
En dan moet je je PATH-variabele bewerken om JAVA_HOME op te nemen, d.w.z. %JAVA_HOME%/bin;
Opdrachtprompt opnieuw openen en zou moeten starten.
Antwoord 2, autoriteit 51%
Gevonden. Systeemeigenschap ‘java.home’ is geen JAVA_HOME-omgevingsvariabele.JAVA_HOME verwijst naar de JDK, terwijl java.home naar de JRE verwijst. Zie die paginavoor meer informatie.
Soo… Mijn probleem was dat mijn startpunt de jre-map was (C:\jdk1.6.0_26\jre) en niet de jdk-map (C:\jdk1.6.0_26) zoals ik dacht (tools.jar is in de map C:\jdk1.6.0_26\lib ). De compileerregel in dependencies.gradle zou moeten zijn:
compile files("${System.properties['java.home']}/../lib/tools.jar")
Antwoord 3, autoriteit 48%
Ik kreeg dezelfde fout toen ik Eclipse probeerde uit te voeren om een Gradle-taak uit te voeren. Elke keer dat ik een opdracht uitvoer (d.w.z. oorlog), veroorzaakte het proces een uitzondering zoals:
Kon tools.jar niet vinden. Controleer of C:\Program Files\Java\Jre8″ een geldige JDK-installatie is.
Ik heb de oplossing geprobeerd die in dit bericht wordt vermeld, maar geen van hen heeft dit probleem opgelost. Hier mijn oplossing:
- Ga naar de weergave “Gradle Task”
- Klik met de rechtermuisknop op de taak die u wilt uitvoeren
- Selecteer Open Gradle Run-configuratie
- Selecteer op het tabblad “Java Home” uw lokale JDK-repository en klik vervolgens op OK
Ga nog een keer rennen, veel plezier!
Antwoord 4, autoriteit 36%
Ik heb zojuist een bestand gradle.properties
toegevoegd met de volgende inhoud:
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
Antwoord 5, autoriteit 25%
Ik had een soortgelijk geval met Ubuntu. Op de machine was alleen de JREgeïnstalleerd. Dus ik heb zojuist de onderstaande opdracht uitgevoerd om de JDKte installeren.
sudo apt install openjdk-8-jdk
Antwoord 6, autoriteit 15%
Ik worstelde ook voor deze oplossing. Heb er een betere manier voor gevonden met Gradle zoals hier.
We kunnen de JVM/JDK-informatie van Gradle zelf krijgen.
dependencies {
runtime files(org.gradle.internal.jvm.Jvm.current().toolsJar)
}
Zo simpel.
Antwoord 7, autoriteit 13%
In CentOS7 zal het ontwikkelpakket tools.jar installeren. Het bestand is niet aanwezig in java-1.8.0-openjdk
sudo yum install java-1.8.0-openjdk-devel
Antwoord 8, autoriteit 12%
Voeg dit toe aan gradle.properties
:
org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_91
Antwoord 9, autoriteit 7%
Het is misschien twee jaar te laat, maar ik kwam onlangs hetzelfde probleem tegen en dit is de oplossing die ik kreeg na het vinden van dit bericht:
import javax.tools.ToolProvider
dependencies {
compile (
files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()),
...
}
}
Het zou moeten werken als java.home verwijst naar een map die niet onder de JDK-map staat en zelfs op Mac OS waar je classes.jar zou hebben in plaats van tools.jar.
Antwoord 10, autoriteit 7%
Met Centos 7 heb ik ontdekt dat alleen JDK tools.jar
heeft, terwijl JRE dat niet heeft. Ik heb de Java 8 JRE(yum install java-1.8.0-openjdk
) geïnstalleerd, maar niet de JDK(yum install java-1.8.0-openjdk-devel
) .
Het installeren van de laatste lost het probleem op. Vergeet ook niet om JAVA_HOME
in te stellen.
Antwoord 11, autoriteit 6%
In Windows 10 kom ik hetzelfde probleem tegen en zo heb ik het probleem opgelost;
- Toegang tot
Advance System Settings>Environment Variables>System
Variables - Selecteer PATHoverschrijf de standaard
C:\ProgramData\Oracle\Java\javapath
- Met uw eigen jdk-installatie is dat JAVA_HOME=
C:\Program Files\Java\jdk1.8.0_162
Antwoord 12, autoriteit 6%
Op mijn systeem (Win 10, JRE 1.8.0, Android Studio 3.1.2, Gradle 4.1) is er geen tools.jar
in de JRE-directory (C:\Program Files\Java\jre1.8.0_171
).
Ik vond het echter in C:\Program Files\Android\Android Studio\jre\lib
en probeerde JAVA_HOME=C:\Program Files\Android\Android Studio\jre
Dat werkt (voor mij)!
Antwoord 13, autoriteit 6%
Mijn oplossing op Mac:
voeg deze regel toe aan gradle.properties
:
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_271.jdk/Contents/Home
niet deze:
org.gradle.java.home=/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
je kunt de laatste homedirectory openen en je zult zien dat er geen bestand lib/tools.jar
bestaat, dus verander het pad in JavaVirtualMachines/jdk1.8.0_271.jdk
en het werkt voor mij.
Trouwens, in de terminal, echo ik de $JAVA_HOME
en het krijgt het eerste pad, niet het tweede, ik denk dat dit de reden is waarom mijn Gradle niet goed kan werken.
Antwoord 14, autoriteit 3%
In macOS Big Sur
Het probleem treedt op omdat de omgevingsvariabele JAVA_HOME
niet correct is ingesteld in macOS Big Sur.
Stap 1 – Bevestig dat u een probleem heeft met JAVA_HOME
door de waarde in de terminal af te drukken. Je krijgt hoogstwaarschijnlijk een lege string.
echo $JAVA_HOME
Stap 2 – Vind het juiste pad op uw machine
/usr/libexec/java_home -V
Kopieer dat pad dat is gekoppeld aan “Java SE 8”, dat er meestal uitziet als /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
Stap 3 – Bewerk .zshenv
met nano
nano ~/.zshenv
Stap 4 – Voeg het pad van stap 2 als volgt toe aan het bestand
export JAVA_HOME=YOUR_JAVA_PATH
voorbeeld:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
Stap 5 – Bron het bijgewerkte bestand .zshenv
om de omgevingsvariabele te activeren
source ~/.zshenv
Stap 6 – Druk af om het pad te bevestigen
echo $JAVA_HOME
Antwoord 15, autoriteit 3%
Als je terminal gebruikt om te bouwen en je krijgt deze foutmelding, dan kun je verwijzen naar jdk gebundeld met android studio in je gradle.properties
bestand:
org.gradle.java.home=/usr/local/android-studio/jre
Antwoord 16, autoriteit 2%
Linux
Open /etc/environment
in een teksteditor zoals nanoof gediten voeg de volgende regel toe:
JAVA_HOME="/usr/lib/jvm/open-jdk"
Vensters
- Start de applet van het systeemconfiguratiescherm (Start – Instellingen – Beheer
Paneel – Systeem). - Selecteer het tabblad Geavanceerd.
- Klik op de omgeving
Variabelen knop. -
Klik onder Systeemvariabelen op de knop Toevoegen en voorbij de volgende regels:
in variabelenaam:
JAVA_HOME
in variabele waarde:
C:\Program Files\Java\jdk1.x.x_xxx
waar
x.x_xxx
jdk-versie kunt u uw jdk-versie hier ophalenC:\Program Files\Java
-
Selecteer onder Systeemvariabelen Pad, klik vervolgens op Bewerken, klik vervolgens op de nieuwe knop en voorbij de volgende regel:
%JAVA_HOME%/bin;
Antwoord 17, autoriteit 2%
Dit werkte voor mij:
Ik kreeg een bericht
Uitvoering mislukt voor taak ‘:app:compileDebugJavaWithJavac’.
Kon tools.jar niet vinden. Controleer of C:\Program Files\Java\jre1.8.0_121 een geldige JDK-installatie bevat.
- Controleer in Android Studio uw SDK-locatie.
- Bestand, projectstructuur, SDK-locatie, JDK-locatie.
- Voorbeeld: C:\android-studio\android-studio\jre
- Kopieer het tools.jar-bestand in de map C:\android-studio\android-studio\jre\lib naar de map C:\Program Files\Java\jre1.8.0_121\lib.
- Opnieuw proberen.
Antwoord 18, autoriteit 2%
Ik heb het probleem op deze manier opgelost:
- download bestandstools-1.8.0.jar op http://www .java2s.com/Code/Jar/t/Downloadtools180jar.htm
- pak het bestand uit en hernoem het naar tools.jar
- kopieer naar de map C:\Program Files\Java\jre1.8.0_191\lib
- Opnieuw proberen
Antwoord 19, autoriteit 2%
Wat het voor mij oploste was het volgende:
- tools.jar gevonden in C:\Program Files\Android\Android Studio\jre\lib
- kopieer plakken naar C:\Program Files (x86)\Java\jre1.8.0_271\lib
- voer de code opnieuw uit en het werkte.
Antwoord 20
Net als andere antwoorden stel ik de eigenschap org.gradle.java.homein in het bestand gradle.properties. Maar pad met \ scheidingstekens werkte niet (voortbouwend op Windows 10):
Java home geleverd via ‘org.gradle.java.home’ is ongeldig. Invalide
directory: C:Program FilesJavajdk1.8.0_65
Dus in plaats van
org.gradle.java.home=C:\Program Files\Java\jdk1.8.0_65
ik moest gebruiken
org.gradle.java.home=C:/Program Files/Java/jdk1.8.0_65
toen was de build succesvol
Het probleem is dat het project is gebouwd met JRE in plaats van JDK en aangezien ik het vanuit eclipse aan het bouwen was, werkte dit ook:
- Geef in Window>Preferences>Gradle>Arguments Workspace JRE op en specificeer uw JDK.
- In Window>Preferences>Java>InstalledJRE’s specificeert u uw JDK als standaard
Antwoord 21
In mijn geval (Windows 10) na Java-update verloor ik mijn omgevingsvariabelen, dus ik heb de variabelen opnieuw toegevoegd, gebaseerd op de volgende stappen https://confluence.atlassian.com/doc/setting-the-java_home-variable-in-windows-8895.html
Antwoord 22
Plaats in het bestand gradle.properties de volgende coderegel:
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45
Antwoord 23
Heb je ervoor gezorgd dat tools.jar het op het compile-klassepad heeft gehaald? Misschien is het pad onjuist.
task debug << {
configurations.compile.each { println it }
}
Antwoord 24
Het toevoegen van een JDK-pad via het tabblad JAVA_HOME in “Open Gradle Run Configuration” lost het probleem op.
Antwoord 25
Ik heb de meeste van de beste opties geprobeerd, maar het lijkt erop dat er iets mis was met mijn omgevingsconfiguratie, dus ze hielpen niet. Wat het probleem voor mij oploste, was het opnieuw installerenjdk1.8.0_201
en jre1.8.0_201
en dit loste de fout voor mij op. Ik hoop dat dat iemand helpt.
Antwoord 26
Bij mij deed deze fout zich voor nadat ik probeerde de flutterbibliotheek van audiospelers te gebruiken.
Om op te lossen kreeg ik tools.jar van de map:
C:\Program Files\Android\Android Studio\jre\lib
en geplakt op
C:\Program Files\Java\jre1.8.0_181\lib.
Hierna werkte de build prima.
Antwoord 27
Kon tools.jar niet vinden
MacOS
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
En herstart Shell
Antwoord 28
Mijn Android Studio-versie: 4.2.1
De “tools.jar”wordt geleverd door Oracle JDK, die Android studio nodig heeft voor compilatie. Ik heb dit probleem ondervonden na het updaten van Android studio naar de nieuwste versie op mijn pc.
Volg de onderstaande stappen om het probleem op te lossen:
-
In Android studio Bestand -> Projectstructuur -> SDK’s (onder Platforminstellingen)
A) Voeg een JDK-pad toe door op het ‘+’-symbool in het middelste deelvenster te drukken als stel dat het JDK/JDK-homepad niet al aanwezig is in het middelste deelvenster (het middelste deelvenster bevat ook de gedownloade Android SDK’s)
B) Java sdk zal meestal aanwezig/geïnstalleerd zijn in het pad 64 bit => “C:\Program Files\Java\jdk1.X.Y_ABC” (op mijn pc is dit 1.8.0_202) of 32 bit => “C:\Program Files (x86)\Java\jdk1.X.Y_ABC”
-
Als u veronderstelt dat JDK niet op uw pc is geïnstalleerd,
download en installeer vanaf de Oracle Java-website
https://www.oracle.com/java/technologies/ javase/javase-jdk8-downloads.html
-
Stel JDK- en JRE-pad in (download beide van de webpagina genoemd in stap 2) in systeemomgevingsvariabele
A) Druk op de Windows-toets type “Bewerk de systeemomgevingsvariabelen” en open de applicatie
B) Ga naar Geavanceerd -> Omgevingsvariabelen Voeg onder systeemvariabelen JAVA_HOME en JRE_HOME toe zoals hieronder
Windows-systeemomgevingsvariabele instellen
- Voeg jdk lib path toe aan de Path-omgevingsvariabele onder gebruikersvariabelen (deze stap is alleen vereist als de fout niet is opgelost met de vorige stappen)
C:\Program Files\Java\jdk1.X.Y_ABC\lib