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
:
Y luego necesita editar su variable PATH para incluir JAVA_HOME, es decir, %JAVA_HOME%/bin;
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:
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;
Advance System Settings>Environment Variables>System Variables
C:\ProgramData\Oracle\Java\javapath
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 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
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
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.
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.