Nie jestem do końca pewien, ale jeśli zainstalujesz normalne RPMS, wartość JAVA_HOME można również ustawić na:
/usr/java/default/
EDYCJA: Właśnie sprawdziłem w moim systemie domowym. Utworzyłem ten plik:
/etc/profile.d/java.sh
To zawiera:
export JAVA_HOME=/usr/java/default/
i używam oficjalnej wersji Sun: jdk-1.6.0_12-fcs
EDYCJA: Oto jak skonfigurować Javę na moim komputerze :
Zainstaluj Javę
Pobierz i zainstaluj Java JDK z Oracle
Uczyń to podstawowym
Upewnij się, że ta Java jest używana zamiast wersji OpenJDK za pomocą następujących dwóch poleceń:
Pierwszy
alternatives --install /usr/bin/java java /usr/java/default/bin/java 999999 \
--slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry
druga
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 999999 \
--slave /usr/bin/jar jar /usr/java/default/bin/jar \
--slave /usr/bin/rmic rmic /usr/java/default/bin/rmic
Ustaw JAVA_HOME
Upewnij się, że wszyscy użytkownicy mają zmienną środowiskową JAVA_HOME ustawioną na poprawną wartość:
echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
/usr/java/default
w moim pudełku CentOS 6 z zainstalowanymi OpenJDK 1.6 i 1.7.Chcesz ustawić JAVA_HOME jako lokalizację główną JDK lub JRE, na przykład:
Jeśli JDK (zestaw programistyczny) jest zainstalowany, prawdopodobnie chcesz, aby wskazywał na to, w przeciwnym razie użyj ścieżki JRE (Java Runtime Environment). Następnie możesz ustawić zmienną środowiskową $ PATH, aby zawierała również katalog bin:
Jeśli używasz tomcat, może być konieczne ustawienie CATALINA_HOME dla użytkownika tomcat.
Aby ustawić to dla systemu, chcesz edytować swój plik / etc / profile lub dodać plik .sh w folderze /etc/profile.d. Dla konkretnego użytkownika możesz umieścić go w plikach ~ / .profile użytkownika lub ~ / .bash_profile.
źródło
Poniżej zawsze działa dla mnie idealnie:
Oznacza to, że mogę ustawić JAVA_HOME jako /usr/java/jdk1.6.0_31
źródło
Rozważyłem problem polegający na zmianie wersji Java używanej z:
W takim razie każde zakodowane
JAVA_HOME
na stałe zmieni się (przynajmniej tak będzie w Centos 6.6, na które obecnie patrzę). To znaczy nie ma/usr/java
.Nie wydaje się to najlepszym sposobem (otwartym na porażkę), ale w ciągu 10 minut, które spędziłem na tym, wydaje się najlepsze.
W
/etc/bashrc
zmodyfikowałem ustawienie,JAVA_HOME
aby było:Musisz zrobić coś podobnego na MacOSX, ale bez tego wszystkiego
grep
ised
przeanalizować wynik. Z pewnościąalternatives
oferuje podobnie łatwiejsze rozwiązanie.W każdym razie mam nadzieję, że pomogłem.
Aktualizacja
Nie, to by było
JRE_HOME
. JDK / SDK nie okazuje się tak oczywiste (będę szukał dalej).alternatives
Wydaje się być tylko o JRE domyślnie. Opieram się na odpowiedzi @Niels lub po prostu instaluję Javęyum
i ustawiam JAVA_HOME na ten (sztuczka polega na tym, że znalazłem, gdzie to zostało zainstalowane!).Zauważyłem, że
java_1.8.0
jest dowiązaniem symbolicznym/etc/alternatives/java_sdk_1.8.0
i dlatego ustawiłem $ JAVA_HOME na/usr/lib/jvm/java_1.8.0
. W/etc/bashrc
.źródło
To dziwne, cały sens posiadania zmiennej środowiskowej JAVE_HOME polega na tym, że nie trzeba określać ścieżki do każdego programu, można ją uzyskać, szukając tej zmiennej.
Tak czy inaczej, poprawnym sposobem znalezienia zmiennej środowiskowej dla JAVA_HOME jest użycie echa:
Uruchomienie tego polecenia wyświetli ścieżkę bez względu na wersję, z której korzystasz, z wiersza polecenia.
źródło
Odp .: Centos7, patrz plik /etc/java/java.conf.
w nim JAVA_HOME ma znajdować się w następującym katalogu: / usr / lib / jvm / java
sprawdziłem, to jest poprawna wersja jdk załadowałem przez yum, a więc ...
moja env nie ma domyślnie ustawionej JAVA_HOME, dlatego ustawiłem ją w .bash_profile
źródło
Odkryłem, że menedżer pakietów może umieszczać w różnych lokalizacjach, więc przy użyciu których (musisz jawnie zainstalować to, jeśli używasz kontenera), poniższe są nieco mniej kruche
lub dla JRE
źródło