JAVA_HOME è impostato sulla directory errata


13

Salve compagni utenti Ubuntu,

Sto cercando di imparare a scrivere modifiche su Minecraft. Per seguire il tutorial che sto usando, devo eseguire un "gradlew". Il comando è il seguente

./gradlew setupDecompWorkspace eclipse

Questo produce quanto segue

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.

Ovviamente non so cosa fare e nemmeno cosa significhi. Ogni aiuto è molto apprezzato.

Risposte:


31

Prima di eseguire il comando provare a inserire:

export JAVA_HOME="path_to_java_home"

Dove path_to_java_home è la cartella in cui si trova il tuo bin / java.

Se java è installato correttamente puoi trovarne la posizione, usando il comando:

readlink -f $(which java)

Non dimenticare di rimuovere bin / java dalla fine del percorso durante l'inserimento in JAVA_HOME


Va bene, ho fatto quello che hai detto, tuttavia, produce gli stessi risultati tranne che il percorso è cambiato.
Joseph_carp,

1
Se esegui $JAVA_HOME/bin/java -versiondopo l'esportazione, funziona bene mostrando la versione java?
Andrew Onischuk,

$ JAVA_HOME / bin / java -version produce bash: /usr/local/java/jdk1.8.0_20/bin/java: nessun file o directory del genere
Joseph_carp,

2
sembra che la tua esportazione sia sbagliata. Mostra il comando di esportazione che hai usato. E mostra anche l' readlink -f $(which java)uscita
Andrew Onischuk,

5
dovresti impostarlo sulla cartella in cui bin / java export JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre"non significaexport JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java"
Andrew Onischuk,

13

Per renderlo automatico su Linux / Ubuntu, aggiungi queste righe alla fine del tuo .bashrc:

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

Questo diventa eseguibile Java, quindi sale a livello di directory

Per designare la versione / eseguibile java predefinita su Debian / Ubuntu, esegui questa volta :

sudo update-alternatives --config java

Questo si basa sulla precedente risposta di Andrew Onischuk (grazie!)


Funziona come un fascino. Ha risolto il mio problema dopo 3 giorni.
Hitesh Sarsava,

1

Prova a modificare / usr / bin / gradle

Commenta la riga "export JAVA_HOME = / usr / lib / jvm / default-java" con un #

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


1

Ottieni il tuo percorso Java usando il comando

whereis java

Di seguito è riportato un possibile output a seconda della versione Java predefinita

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

Maven deve scegliere la posizione Java (home) in modo da poter esportare il percorso Java usando il seguente comando

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

Ciò consentirà a Maven di selezionare la versione java e la posizione nel file / etc / environment

Opzionalmente puoi aggiungerlo manualmente nell'ambiente / etc / usando il seguente comando

sudo nano /etc/environment

e modifica il file JAVA_HOME=/usr/lib/jvm/jdk1.8.0_241/jre/

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.