JAVA_HOME está configurado en el directorio incorrecto

13

Hola compañeros usuarios de Ubuntu,

Estoy tratando de aprender a escribir modificaciones en Minecraft. Para seguir el tutorial que estoy usando, necesito ejecutar un "gradlew". El comando es el siguiente

./gradlew setupDecompWorkspace eclipse

Esto produce lo siguiente

ERROR: JAVA_HOME is set to an invalid directory: /usr/local/java/jdk1.8.0_20

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

Obviamente no sé qué hacer ni qué significa esto. Cualquier ayuda es muy apreciada.

Joseph_carp
fuente

Respuestas:

30

Antes de ejecutar el comando, intente ingresar:

export JAVA_HOME="path_to_java_home"

Donde path_to_java_home es la carpeta donde está su bin / java.

Si Java está instalado correctamente, puede encontrar su ubicación, utilizando el comando:

readlink -f $(which java)

No olvide eliminar bin / java del final del camino mientras lo coloca en JAVA_HOME

Andrew Onischuk
fuente
Bien, hice lo que dijiste, sin embargo, produce los mismos resultados, excepto que la ruta ha cambiado.
Joseph_carp
1
Si ejecuta $JAVA_HOME/bin/java -versiondespués de la exportación, ¿funciona bien mostrar la versión de Java?
Andrew Onischuk
$ JAVA_HOME / bin / java -version produce bash: /usr/local/java/jdk1.8.0_20/bin/java: No
existe
2
Parece que su exportación está mal. Por favor, muestre el comando de exportación que utilizó. Y también mostrar la readlink -f $(which java)salida
Andrew Onischuk
55
debe configurarlo en la carpeta donde bin / java significa export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre"noexport JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java"
Andrew Onischuk
13

Para hacerlo automático en Linux / Ubuntu, agregue estas líneas al final de su .bashrc:

JAVA_HOME=$(dirname $( readlink -f $(which java) ))
JAVA_HOME=$(realpath "$JAVA_HOME"/../)
export JAVA_HOME

Esto hace que Java sea ejecutable, luego sube un nivel de directorio

Para designar la versión / ejecutable predeterminada de Java en Debian / Ubuntu, ejecute esto una vez :

sudo update-alternatives --config java

Esto se basa en la respuesta anterior de Andrew Onischuk (¡gracias!)

Tudor Ilisoi
fuente
Su trabajo como un encanto. Resolvió mi problema después de 3 días.
Hitesh Sarsava
1

Intenta editar / usr / bin / gradle

Comente la línea "export JAVA_HOME = / usr / lib / jvm / default-java" con un #

esto: #export JAVA_HOME = / usr / lib / jvm / default-java

observador de estrellas
fuente
1

Obtenga su ruta Java utilizando el comando

whereis java

La siguiente es una salida posible dependiendo de su versión Java predeterminada

java: /usr/bin/java /usr/share/java /usr/lib/jvm/jdk1.8.0_241/jre/bin/java

Maven necesita elegir la ubicación de Java (inicio) para que pueda exportar la ruta de Java utilizando el siguiente comando

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre

Esto permitirá a Maven elegir la versión y ubicación de Java en el archivo / etc / environment

Opcionalmente, puede agregar esto en el entorno / etc / manualmente usando el siguiente comando

sudo nano /etc/environment

y edite el JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre/

Jose Mhlanga
fuente