2014-04-17 25 views
7

Jestem całkiem nowy na ubuntu, w pewnym momencie w terminalu biegnę:Ustawienie zmiennej środowiskowej JAVA_HOME w Ubuntu

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

ale mam ten następujący błąd:

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.

Ale jestem prawie pewien, że mam Javę, więc proszę, jak mogę ustawić moją zmienną środowiskową JAVA_HOME?

+1

Zrobiłem trochę zamieszania wokół i [znalazłem tę stronę dokumentu] (http://help.mortardata.com/data_apps/recommendation_engine/install_mortar) powiązaną z Mortarem. Mogę się założyć, że tego właśnie chcesz użyć, aby wyeksportować swoją bibliotekę JAVA_HOME podczas jej uruchamiania/instalowania. – Makoto

Odpowiedz

0

wstaw linię export JAVA_HOME=/usr/lib/jvm/java-xxx-oracle do pliku .profile w katalogu domowym. Pamiętaj, że musisz zastąpić xxx. Być może trzeba wylogować się i zalogować ponownie

0

Normalnie można ustawić ścieżki w

~/.bashrc

z JAVA_HOME eksportu =/usr/lib/jvm/java-version

Jednak ci może followe instrukcje od here dla kompleksowej instrukcji.

+0

Ustawiłem to w .bashrc, ale czy muszę ponownie uruchomić? To nie działa. –

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

w pliku ~/.bashrc.

Jeśli chcesz to zmienna dostępna dla wszystkich użytkowników w systemie i uruchomić środowisko następnie można dodać następujące /etc/profile.d/java.sh (utwórz go, jeśli to konieczne):

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

Następnie w terminalu:

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

Jaki jest sens JDK_HOME –

0

możesz wpisać java w terminalu, jeśli to nie działa oznacza, że ​​nie zainstalowałeś java.if to działa, wpisz javac w terminal.if javac dawka nie działa, powinieneś ustawić zmienną środowiskową java, jeśli to działa, może coś jest nie tak z twoim programem.

15

Po pierwsze, musisz zdecydować, której zainstalowanej wersji Java chcesz użyć? Nie ma strachu, można wybrać dowolny masz -

update-java-alternatives -l 

"łatwe" rozwiązanie Jednym z nich jest to, aby dodać "$ HOME/.bashrc"

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

ten wybiera pierwszy zainstalowane JDK i trwa to JAVA_HOME (trzeciego pola) - w moim systemie, który jest

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

jest to tylko rozwiązanie tymczasowe i zostanie wyczyszczone po ponownym uruchomieniu komputera. –

+1

@IgorGanapolsky Nie, jeśli dodasz go do ".bashrc", nie będzie. –

+0

W Ubuntu 14.04 utworzono plik symlink/usr/lib/jvm/default-java, gdy zainstalowałem jdk przez apt. Użyłem tego dla zmiennej środowiskowej JAVA_HOME. – RobotNerd

4

Najprostszym sposobem, aby ustawić zmienną środowiskową jest z eksportu:

$ export JAVA_HOME="/usr/bin" 

Spowoduje to tymczasowe ustawienie żądanej zmiennej.Yuou może sprawdzić, czy został ustawiony z:

$ echo $JAVA_HOME 

lub

$ printenv 

Jeśli mrówka bardziej trwałe rozwiązanie, dołącz 'JAVA_HOME eksportowej = "/ usr/bin"' do .bashrc lub .bash_profile plik.

Aby sprawdzić czy Java jest poprawnie zainstalowana:

$ which java 
    $ which javac 

Należy uzyskać podobny wynik:

/usr/bin/java 
+1

Dlaczego/usr/bin/java? Co się stanie, jeśli ściągnę plik jdk z Oracle do innego katalogu? –

+0

To był tylko konkretny przykład :) – PovilasB

+0

To jest najlepsza odpowiedź, jeśli planujesz używać wielu wersji java. Pozwala to na używanie aktualizacji-alternatyw do ustawienia wersji java i będzie działać przez cały czas. – loctrice

0

Dla JAVA_HOME aby wskazywał aktywnego JDK, dodać do ~/.bashrc

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

, która będzie dynamicznie ustawiać $JAVA_HOME do JDK wybranego przez update-alternatives.