2014-04-17 14 views
7

sono abbastanza nuovo su ubuntu, ad un certo punto nel terminale sto correndo:Impostazione della variabile di ambiente JAVA_HOME in Ubuntu

mortar local:illustrate pigscripts/retail-recsys.pig purchase_input -f params/retail.params 

ma ho questa seguente errore:

A suitable java installation could not be found. If you already have java installed
please set your JAVA_HOME environment variable before continuing. Otherwise, a suitable java installation will need to be added to your local system.

Installing Java

On OSX run javac from the command line. This will intiate the installation. For Linux systems please consult the documentation on your relevant package manager.

Ma sono abbastanza sicuro di avere Java, quindi per favore come posso impostare la mia variabile d'ambiente JAVA_HOME?

+1

Ho fatto un po 'di mouse in giro e [ho trovato questa pagina del documento] (http://help.mortardata.com/data_apps/recommendation_engine/install_mortar) relativo al mortaio. Sono disposto a scommettere che è quello che vuoi usare per esportare il tuo JAVA_HOME quando lo stai eseguendo/installando. – Makoto

risposta

0

inserisci la riga export JAVA_HOME=/usr/lib/jvm/java-xxx-oracle nel file .profile nella directory home. Nota che devi sostituire xxx. Potrebbe essere necessario disconnettersi e accedere di nuovo

0

Normalmente è possibile impostare i percorsi in

~/.bashrc

con JAVA_HOME export =/usr/lib/jvm/java-version

Tuttavia si può seguire le istruzioni da here per un'istruzione completa.

+0

L'ho impostato in .bashrc, ma devo riavviare ?? Non ha effetto. –

2
export JAVA_HOME=/usr/lib/jvm/java-7-oracle 

nel file ~/.bashrc.

Se si desidera che questa variabile di ambiente a disposizione di tutti gli utenti e sul sistema di start poi si può aggiungere quanto segue al /etc/profile.d/java.sh (crearlo se necessario):

export JDK_HOME=/usr/lib/jvm/java-7-oracle 
export JAVA_HOME=/usr/lib/jvm/java-7-oracle 

Poi in un terminal:

sudo chmod +x /etc/profile.d/java.sh 
source /etc/profile.d/java.sh 
+0

Qual è il punto di JDK_HOME –

0

è possibile digitare java in terminale, se non funziona significa che non è stato installato java.if funziona, digitare javac in terminal.if javac dose non funziona, è necessario impostare la variabile di ambiente java, se funziona, forse c'è qualcosa di sbagliato nel tuo programma.

15

In primo luogo, è necessario decidere quale versione installata di Java utilizzare? Nessuna paura, è possibile scegliere qualsiasi che hai -

update-java-alternatives -l 

Una soluzione "facile" è quello di aggiungere questo al "$ HOME/.bashrc",

export JAVA_HOME=$(update-java-alternatives -l | head -n 1 | cut -f3 -d' ') 

Questo sceglie il primo installato JDK e prende è JAVA_HOME (terzo campo) - sul mio sistema che è

/usr/lib/jvm/java-1.7.0-openjdk-amd64 
+0

questa è solo una soluzione temporanea e verrà cancellata al riavvio. –

+1

@IgorGanapolsky No, se lo aggiungi a ".bashrc" non lo farà. –

+0

Su Ubuntu 14.04, un symlink/usr/lib/jvm/default-java è stato creato quando ho installato jdk tramite apt. L'ho usato per la variabile d'ambiente JAVA_HOME. – RobotNerd

4

il metodo più semplice per impostare variabile d'ambiente è con l'esportazione:

$ export JAVA_HOME="/usr/bin" 

Questo imposterà temporaneamente la variabile desiderata.Yuou può controllare se è stato impostato con:

$ echo $JAVA_HOME 

o

$ printenv 

Se si ant una soluzione più permanente, aggiungere 'export JAVA_HOME = "/ usr/bin"' a .bashrc o .bash_profile file.

Per verificare se Java è installato correttamente:

$ which java 
    $ which javac 

Si dovrebbe ottenere un risultato simile:

/usr/bin/java 
+1

Perché/usr/bin/java? Cosa succede se scarico jdk da Oracle in un'altra directory? –

+0

Bene, quello era solo un esempio specifico :) – PovilasB

+0

Questa è la migliore risposta se si prevede di utilizzare più versioni di java. Ciò ti consente di utilizzare alternative di aggiornamento per impostare la tua versione java e funzionerà ovunque. – loctrice

0

Per JAVA_HOME per puntare al JDK attiva, aggiungere alla vostra ~/.bashrc

export JAVA_HOME=$(update-alternatives --query javac | sed -n -e 's/Best: *\(.*\)\/bin\/javac/\1/p') 

che imposta dinamicamente lo $JAVA_HOME per il JDK selezionato da update-alternatives.