Gradle no encuentra tools.jar

Estoy usando doveles javadoc con gradle, así que necesito usar el paquete tools.jar, que está en la carpeta lib de jdk (1.6.0_26 en mi caso).

El punto es que gradle no lo toma automáticamente, así que estaba agregando ese paquete de herramientas a mi carpeta libs y luego lo agregué a dependencies.gradle.

Ahora quiero llevarlo directamente desde mi casa JDK a mis dependencias.gradle. ¿Hay una manera de hacer eso? Lo he intentado el siguiente en mis dependencias.gradle:

compile files("${System.properties['java.home']}/lib/tools.jar") 

Pero no lo encuentra mientras comstack.

Tuve este problema cuando estaba tratando de ejecutar comandos a través de CLI.

Era un problema con el sistema que miraba la carpeta JRE, es decir, D:\Program Files\Java\jre8\bin . Si miramos allí, no hay Tools.jar , de ahí el error.

Debes encontrar dónde está el JDK , en mi caso: D:\Program Files\Java\jdk1.8.0_11 , y si miras en el directorio lib , verás Tools.jar .

Lo que hice Creé una nueva variable de entorno JAVA_HOME : enter image description here

Y luego necesita editar su variable PATH para incluir JAVA_HOME, es decir, %JAVA_HOME%/bin; enter image description here

Vuelva a abrir el símbolo del sistema y debería ejecutarse.

Lo encontré. La propiedad del sistema ‘java.home’ no es la variable de entorno JAVA_HOME. JAVA_HOME apunta al JDK, mientras que java.home apunta al JRE. Vea esa página para más información.

Soo … Mi problema era que mi punto de partida era la carpeta jre (C: \ jdk1.6.0_26 \ jre) y no la carpeta jdk (C: \ jdk1.6.0_26) como pensaba (tools.jar está en la C : carpeta \ jdk1.6.0_26 \ lib). La línea de comstackción en dependencies.gradle debe ser:

 compile files("${System.properties['java.home']}/../lib/tools.jar") 

Obtuve el mismo error al usar Eclipse al intentar ejecutar una tarea de Gradle. Cada vez que ejecuto un comando (es decir, guerra) el proceso arrojó una excepción como:

No se pudo encontrar tools.jar. Verifique que C: \ Archivos de progtwig \ Java \ Jre8 “es una instalación válida de JDK.

Probé la solución que figura en esta publicación, pero ninguno de ellos resolvió este problema. Aquí mi solución:

  1. Ir a la vista “Tarea Gradle”
  2. Haga clic derecho en la tarea que desea ejecutar
  3. Seleccione Abrir configuración de ejecución de Gradle
  4. En la pestaña “Inicio de Java”, seleccione su repository de JDK local y luego haga clic en Aceptar.

Corre de nuevo, ¡disfruta!

Acabo de agregar un archivo gradle.properties con el siguiente contenido:

 org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_45 

También estaba luchando por esta Solución. Encontré una mejor manera de hacerlo con Gradle como se describe aquí . Podemos obtener la información JVM / JDK de la propia Gradle.

 dependencies { runtime files(org.gradle.internal.jvm.Jvm.current().toolsJar) } 

Tan sencillo.

Tuve un caso similar usando Ubuntu . La máquina solo tenía JRE instalado. Entonces, acabo de ejecutar el siguiente comando para instalar el JDK .

sudo apt install openjdk-8-jdk

Agregue esto a gradle.properties :

org.gradle.java.home = C: \ Archivos de progtwig \ Java \ jdk1.8.0_91

Pueden ser dos años demasiado tarde, pero me encontré con el mismo problema recientemente y esta es la solución con la que terminé después de encontrar esta publicación :

 import javax.tools.ToolProvider dependencies { compile ( files(((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()), ... } } 

Debería funcionar si java.home apunta a un directorio que no está bajo el directorio JDK e incluso en Mac OS donde tendría classes.jar en lugar de tools.jar.

En Windows 10, encuentro el mismo problema y esta es la forma en que solucioné el problema;

  1. Acceso Advance System Settings>Environment Variables>System Variables
  2. Seleccione PATH sobrescribir el predeterminado C:\ProgramData\Oracle\Java\javapath
  3. Con su propia instalación jdk que es JAVA_HOME = C:\Program Files\Java\jdk1.8.0_162

En CentOS7, el paquete de desarrollo instalará tools.jar. El archivo no está presente en java-1.8.0-openjdk

sudo yum install java-1.8.0-openjdk-devel

Al igual que otras respuestas, configuré la propiedad org.gradle.java.home en el archivo gradle.properties . Pero la ruta con \ separadores no funcionó (basándose en Windows 10):

La casa de Java suministrada a través de ‘org.gradle.java.home’ no es válida. Directorio inválido: C: Archivos de progtwigJavajdk1.8.0_65

Entonces, en lugar de

org.gradle.java.home = C: \ Archivos de progtwig \ Java \ jdk1.8.0_65

tuve que usar

org.gradle.java.home = C: / Archivos de progtwig / Java / jdk1.8.0_65

entonces la construcción fue exitosa

El problema es que el proyecto está construido con JRE en lugar de JDK y, como yo lo estaba construyendo a partir de eclipse, esto también funcionó:

  • En Ventana> Preferencias> Gradle> Argumentos especifique Workspace JRE y especifique su JDK.
  • En Ventana> Preferencias> Java> InstalledJRE, especifique su JDK como predeterminado

En mi sistema (Win 10, JRE 1.8.0, Android Studio 3.1.2, Gradle 4.1) no hay tools.jar en el directorio JRE ( C:\Program Files\Java\jre1.8.0_171 ).

Sin embargo, lo encontré en C:\Program Files\Android\Android Studio\jre\lib e intenté configurar JAVA_HOME=C:\Program Files\Android\Android Studio\jre

Funciona para mi)!

¿Te aseguraste de que tools.jar lo hiciera en la ruta de la clase de comstackción? Tal vez el camino es incorrecto.

 task debug << { configurations.compile.each { println it } } 

En mi caso (Windows 10) después de la actualización de Java perdí mis variables de entorno, por lo que arreglé las variables añadidas de nuevo, en los siguientes pasos https://confluence.atlassian.com/doc/setting-the-java_home-variable-in -windows-8895.html

Linux

Abra /etc/environment en cualquier editor de texto como nano o gedit y agregue la siguiente línea:

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

Windows

  1. Inicie el applet del Panel de control del sistema (Inicio – Configuración – Panel de control – Sistema).
  2. Seleccione la pestaña Avanzado.
  3. Haga clic en el botón Variables del entorno.
  4. En Variables del sistema, haga clic en el botón Agregar, luego pase las siguientes líneas:

    en Nombre de variable: JAVA_HOME

    en valor de variable: C:\Program Files\Java\jdk1.x.x_xxx

    donde x.x_xxx jdk versión puede obtener su versión jdk desde aquí C:\Program Files\Java

  5. En Variables del sistema, seleccione Ruta, luego haga clic en Editar, luego haga clic en el botón nuevo y luego pase la siguiente línea:

    %JAVA_HOME%/bin;

Esto funcionó para mí:

Estaba recibiendo un mensaje

La ejecución falló para la tarea ‘: aplicación: compileDebugJavaWithJavac’.

No se pudo encontrar tools.jar. Verifique que C: \ Program Files \ Java \ jre1.8.0_121 contenga una instalación válida de JDK.

  • En Android Studio, verifique su ubicación de SDK.
  • Archivo, Estructura del proyecto, Ubicación del SDK, Ubicación del JDK.
  • Ejemplo: C: \ android-studio \ android-studio \ jre
  • Copie el archivo tools.jar en la carpeta C: \ android-studio \ android-studio \ jre \ lib en la carpeta C: \ Archivos de progtwig \ Java \ jre1.8.0_121 \ lib.
  • Rever.

Si usa terminal para comstackr y tiene este error, puede apuntar a jdk incluido con android studio en su archivo gradle.properties :

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

Con Centos 7, he descubierto que solo JDK tiene tools.jar , mientras que JRE no . He instalado Java 8 JRE ( yum install java-1.8.0-openjdk ), pero no el JDK ( yum install java-1.8.0-openjdk-devel ).

La instalación de este último resuelve el problema. Además, recuerde configurar JAVA_HOME .

Agregar la ruta JDK a través de la pestaña JAVA_HOME en “Abrir configuración de ejecución de Gradle” resolverá el problema.