Estoy usando javadoc doclets 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 hogar JDK a mi dependencies.gradle. ¿Hay una manera de hacer eso? He intentado el siguiente en mi dependencies.gradle:
compile files("${System.properties['java.home']}/lib/tools.jar")
Pero no lo encuentra al compilar.
Respuestas:
Tuve este problema cuando intentaba ejecutar comandos a través de la CLI.
Fue un problema con el sistema mirando la carpeta JRE, es decir
D:\Program Files\Java\jre8\bin
. Si miramos allí, no hayTools.jar
, de ahí el error.Necesita encontrar dónde
JDK
está, en mi caso:D:\Program Files\Java\jdk1.8.0_11
y si busca en ellib
directorio, veráTools.jar
.Lo que hice fue crear 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.
fuente
%JAVA_HOME%\lib;
no está en labin
carpeta.%JAVA_HOME%/bin
y%JAVA_HOME%/lib
a laPath
variable entonces?Lo encontré. La propiedad del sistema 'java.home' no es una 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.
Entonces ... 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 compilación en dependencies.gradle debería ser:
fuente
Recibí el mismo error al usar Eclipse al intentar ejecutar una Tarea Gradle. Cada vez que ejecuto un comando (es decir, guerra), el proceso arrojó una excepción como:
Probé la solución que aparece en esta publicación, pero ninguno de ellos resolvió este problema. Aquí mi solución:
Corre de nuevo, disfruta!
fuente
Acabo de agregar un
gradle.properties
archivo con el siguiente contenido:fuente
~/.gradle/gradle.properties
archivos, agregandoorg.gradle.java.home=/usr/lib/jvm/java
. Funciona para mí en Fedora 24.Tuve un caso similar con Ubuntu . La máquina solo tenía el JRE instalado. Entonces, acabo de ejecutar el siguiente comando para instalar el JDK .
sudo apt install openjdk-8-jdk
fuente
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 de JVM / JDK de Gradle.
Tan sencillo.
fuente
compile
lugar deruntime
NullPointerException
.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
fuente
Agregue esto a
gradle.properties
:fuente
org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_144\
.Puede que sea dos años demasiado tarde, pero me encontré con el mismo problema recientemente y esta es la solución que terminé después de encontrar esta publicación :
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.
fuente
Con Centos 7, descubrí que solo JDK tiene
tools.jar
, mientras que JRE no . He instalado Java 8 JRE (yum install java-1.8.0-openjdk
), pero no JDK (yum install java-1.8.0-openjdk-devel
).Instalar este último resuelve el problema. Además, recuerde configurar
JAVA_HOME
.fuente
En Windows 10, encuentro el mismo problema y así es como solucioné el problema;
Advance System Settings>Environment Variables>System Variables
C:\ProgramData\Oracle\Java\javapath
C:\Program Files\Java\jdk1.8.0_162
fuente
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é
C:\Program Files\Android\Android Studio\jre\lib
y traté de configurarJAVA_HOME=C:\Program Files\Android\Android Studio\jre
Funciona para mi)!
fuente
org.gradle.java.home=E:\\Android Studio\\jre
Linux
Abra
/etc/environment
en cualquier editor de texto como nano o gedit y agregue la siguiente línea:Ventanas
En Variables del sistema, haga clic en el botón Agregar, luego pase las siguientes líneas:
en nombre de la variable:
JAVA_HOME
en valor variable:
C:\Program Files\Java\jdk1.x.x_xxx
donde la
x.x_xxx
versión jdk 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;
fuente
JAVA_HOME="/usr/lib/jvm/java-openjdk"
Esto funcionó para mí:
Estaba recibiendo un mensaje
fuente
Si usa terminal para compilar y tiene este error, puede apuntar a jdk incluido con android studio en su
gradle.properties
archivo:fuente
Al igual que otras respuestas puse org.gradle.java.home propiedad en gradle.properties archivo. Pero la ruta con \ separadores no funcionó (compilando en Windows 10):
Entonces en lugar de
tuve que usar
entonces la construcción fue exitosa
El problema es que el proyecto se construye con JRE en lugar de JDK y, como lo estaba construyendo desde eclipse, esto también funcionó:
fuente
En mi caso (Windows 10) después de la actualización de Java, perdí mis variables de entorno, por lo que arreglé las variables agregadas nuevamente, según los siguientes pasos https://confluence.atlassian.com/doc/setting-the-java_home-variable-in -windows-8895.html
fuente
Resolví el problema de esta manera:
fuente
C:\Program Files (x86)\Java\jre1.8.0_211
yC:\Program Files (x86)\Java\jre1.8.0_251
¿Te aseguraste de que tools.jar llegó a la ruta de la clase de compilación? Tal vez el camino es incorrecto.
fuente
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.
fuente
He probado la mayoría de las opciones principales, pero parece que tuve un problema con la configuración de mi entorno, por lo que no me ayudaron. Lo resuelto el problema para mí era volver a instalar
jdk1.8.0_201
yjre1.8.0_201
y esto resuelve el error para mí. Espero que ayude a alguien.fuente