Cuando intento ejecutar gradle, aparece el siguiente error:
# gradle
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Sin embargo, cuando verifico la variable JAVA_HOME obtengo:
# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
Mi JAVA_HOME está definido en .bashrc y he verificado que está configurado como la fuente.
La ejecución java -version
también confirma que JAVA_HOME está configurado correctamente y está en la RUTA.
# java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
También he comprobado los /usr/bin/java
enlaces simbólicos a los /etc/alternatives/java
que a su vez los enlaces simbólicos correctamente/usr/lib/jvm/java-7-oracle/jre/bin/java
Además, he comprobado que no hay definiciones JAVA_HOME duplicadas en .bash_profile
o /etc/profile
.
Entonces, mi pregunta es cómo / por qué encuentra Gradle /usr/lib/jvm/default-java
, y lo más importante, ¿ cómo lo apunto al directorio correcto?
Otros programas que requieren el JDK funcionan bien, así que creo que es un problema de Gradle. También intenté reinstalar Gradle, lo que no hizo ninguna diferencia.
Estoy ejecutando Xubuntu de 64 bits (Ubuntu 13.10 base)
fuente
/usr/lib/jvm/default-java
directorio o enlace simbólico? ¿Y cómo instalaste Gradle?/usr/lib/jvm/default-java
dir. Instalado con apt (apt-get install gradle)JAVA_HOME
ser configurado. SiJAVA_HOME
está configurado, el script se usa$JAVA_HOME/bin/java
para ejecutar Gradle. De lo contrario, utilizajava
(es decir,java
tiene que estar en elPATH
). Quizás el paquete apt (de terceros) usa un script de inicio modificado.usr/lib/jvm/defult-java
. Gracias por la ayudasource ~/.bashrc
o reinició su máquina después de configurar JAVA_HOME?Respuestas:
Resulta que el binario particular, Gradle he descargado desde el Ubuntu 13.10 repositorio en sí intenta export JAVA_HOME. Gracias a Lucas por sugerir esto.
/usr/bin/gradle
línea 70:Comentar esta línea resuelve el problema y Gradle encuentra la ruta correcta al binario de Java.
Si solo descarga el binario desde su sitio web , no tiene este problema, es un problema con la versión de repositorio de Ubuntu. También parece haber otros problemas con la versión 13.10.
fuente
agregar un enlace simbólico
fuente
La solución es hacer JAVA_HOME == dir encima de bin donde javac vive como en
OK, así que finalmente encontré el contenedor encima de javac real, así que haz esto
anterior se puede simplificar y generalizar a
fuente
Para mí, este error se debió a la razón por la cual Gradle se instaló como sudo y estaba intentando, como usuario predeterminado, ejecutar Gradle.
Tratar:
o
fuente
Intenta instalar la última versión de
gradle
,Si lo instalamos desde ubuntu repo, instalará la versión anterior (para mí fue gradle 1.4). En la versión anterior, establece java home desde gradle como
export JAVA_HOME=/usr/lib/jvm/default-java
. La última versión no tiene este problema.fuente
¿
export
Tu tuJAVA_HOME
? Sin exportación, la configuración no se propagará a los comandos iniciados dentro de ese shell. Además,java -version
no usaJAVA_HOME
, sino que usa el primerojava
encontrado en su ruta. Asegúrate de que tu.bashrc
aspecto sea así:fuente
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
(sintaxis ligeramente diferente pero supongo que es la misma)gradle
comando en sí mismo establecer esa variable? Quizás la persona que instalógradle
creó una secuencia de comandos de contenedor que establece las variables de entorno antes de iniciar la aplicación. Cuando se usa tomcat, no es rarocatalina.sh
que (que es el script de inicio) llame a unsetenv.sh
para configurar variables de entorno que pueden incluirJAVA_HOME
Enfrenté este problema cuando ejecuté el siguiente comando en Ubuntu:
Para resolver este problema, hice los siguientes pasos:
Agregue JAVA_HOME a / etc / environment:
Añadir:
Después de guardar, léalo:
Finalmente, puede ejecutar el comando de compilación.
fuente
Tuve el mismo problema, pero no encontré el comando de exportación en la línea 70 en el archivo gradle para la última versión 2.13, pero entiendo un error tonto allí, que es el siguiente,
Si no encuentra la línea 70 con el comando de exportación en el archivo gradle en su carpeta / bin / gradle, compruebe su ~ / .bashrc, si lo encuentra
export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64/bin/java
, elimínelo/bin/java
de esta línea, comoJAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64
, y en su lugar en la ruta >>> de estoexport PATH=$PATH:$HOME/bin:JAVA_HOME/
, lo seráexport PATH=$PATH:$HOME/bin:JAVA_HOME/bin/java
. Entonces corresource ~/.bashrc
.La razón es que si revisa su archivo gradle, encontrará en la línea 70 (si no hay un comando de exportación) o en la línea 75,
Eso sucedió en mi caso.
fuente
En mi Ubuntu, me duele la cabeza durante 2 días por este problema.
Paso 1. Escribe en el terminal y
whereis java
luego mostrará algo como estoPaso 2. Tome nota de la ruta:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
excluir el
bin/java
tu JAVA_HOME =
/usr/lib/jvm/java-8-openjdk-amd64
fuente
Para mí, el problema era un conjunto explícito en la sección de argumentos de la configuración de herramientas externas en Eclipse.
fuente
También puede ir a la carpeta bin dentro de su carpeta de instalación de gradle y corregir el parámetro JAVA_HOME en el archivo gradle.bat. En mi caso, mi JAVA_HOME se configuró en c: \ Archivos de programa \ java \ bin El JAVA_HOME en gradle.bat se configuró en% JAVA_HOME% \ bin \ java.exe.
Corregí el JAVA_HOME en gradle.bat y funcionó.
¡¡¡Gracias!!!
fuente
Cree un enlace simbólico al directorio predeterminado-java.
Puede encontrar su directorio java por
fuente
Antes de ejecutar el comando, intente ingresar:
¿Dónde
path_to_java_home
está la carpeta donde está tubin/java
está?Si Java está instalado correctamente, puede encontrar su ubicación, utilizando el comando:
No olvides quitarlo
bin/java
del final del camino mientras lo colocas enJAVA_HOME
fuente
También tuve un problema con esto. Dijo directorio incorrecto cuando era correcto. Así que acabo de crear una variable local con el nombre de JAVA_HOME omitiendo el final / bin / java. Funcionó bien para mí.
fuente
Si su entorno GRADLE_HOME y JAVA_HOME están configurados correctamente, verifique su directorio JDK y asegúrese de tener el archivo java.exe debajo de la ruta de acceso.
Como error mencionado en el archivo gradle.bat
No puede localizar su instalación de Java. Así que encuentra y establece
debajo
%JAVA_HOME%/bin
si todo es correcto.Esto funciona para mí (mi cuenta fue deshabilitada por el cliente y su administrador ha eliminado java.exe de mi directorio).
fuente
En mi dockercontainer (siendo mínimo el problema de no encontrar Java) era, eso "que" no estaba instalado. Al compilar un proyecto usando gradlew, utilicé cuál en ./gradlew para encontrar la instalación de Java que resolvió el problema.
fuente
[Windows] Como ya se dijo, parece que .bat -file intenta encontrar java.exe, por
%JAVA_HOME%/bin/java.exe
lo que no lo encuentra, ya quebin
se repite dos veces en la ruta. Elimina ese extra/bin
de gradle.bat.fuente
Agregar líneas debajo en build.gradle resolvió mi problema.
fuente