Gradle vindt tools.jar niet

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 JDKis, in mijn geval: D:\Program Files\Java\jdk1.8.0_11, en als je in de libdirectory, ziet u tools.jar.

Wat ik deed Ik heb een nieuwe omgevingsvariabele JAVA_HOMEgemaakt:
voer hier de afbeeldingsbeschrijving in

En dan moet je je PATH-variabele bewerken om JAVA_HOME op te nemen, d.w.z. %JAVA_HOME%/bin;
voer hier de afbeeldingsbeschrijving in

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:

  1. Ga naar de weergave “Gradle Task”
  2. Klik met de rechtermuisknop op de taak die u wilt uitvoeren
  3. Selecteer Open Gradle Run-configuratie
  4. 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.propertiestoegevoegd 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.jarheeft, 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_HOMEin te stellen.


Antwoord 11, autoriteit 6%

In Windows 10 kom ik hetzelfde probleem tegen en zo heb ik het probleem opgelost;

  1. Toegang tot Advance System Settings>Environment Variables>System
    Variables
  2. Selecteer PATHoverschrijf de standaard
    C:\ProgramData\Oracle\Java\javapath
  3. 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.jarin de JRE-directory (C:\Program Files\Java\jre1.8.0_171).

Ik vond het echter in C:\Program Files\Android\Android Studio\jre\liben 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.jarbestaat, dus verander het pad in JavaVirtualMachines/jdk1.8.0_271.jdken het werkt voor mij.

Trouwens, in de terminal, echo ik de $JAVA_HOMEen 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_HOMEniet correct is ingesteld in macOS Big Sur.

Stap 1 – Bevestig dat u een probleem heeft met JAVA_HOMEdoor 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 .zshenvmet 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 .zshenvom 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.propertiesbestand:

org.gradle.java.home=/usr/local/android-studio/jre

Antwoord 16, autoriteit 2%

Linux

Open /etc/environmentin een teksteditor zoals nanoof gediten voeg de volgende regel toe:

JAVA_HOME="/usr/lib/jvm/open-jdk"

Vensters

  1. Start de applet van het systeemconfiguratiescherm (Start – Instellingen – Beheer
    Paneel – Systeem).
  2. Selecteer het tabblad Geavanceerd.
  3. Klik op de omgeving
    Variabelen knop.
  4. 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_xxxjdk-versie kunt u uw jdk-versie hier ophalen C:\Program Files\Java

  5. 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:


Antwoord 19, autoriteit 2%

Wat het voor mij oploste was het volgende:

  1. tools.jar gevonden in C:\Program Files\Android\Android Studio\jre\lib
  2. kopieer plakken naar C:\Program Files (x86)\Java\jre1.8.0_271\lib
  3. 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

Voorbeeldafbeelding


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_201en jre1.8.0_201en 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:

  1. 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”

  2. 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

  1. 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

  1. 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

Other episodes