Jak ustawić JAVA_HOME w Linuksie dla wszystkich użytkowników?

Jestem nowy w systemie Linux i wydaje mi się, że jest tam zbyt wiele folderów Java.

java -version daje mi:

  • java version "1.7.0_55"
  • OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
  • OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)

Kiedy próbuję zbudować projekt Maven, dostaję błąd:

Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java

Czy mógłbyś mi powiedzieć, które pliki muszę zmodyfikować zarówno dla użytkownika root jak i not-root i gdzie dokładnie znajduje się java?

Rozwiązanie
  1. find /usr/lib/jvm/java-1.x.x-openjdk.

  2. vim /etc/profile

    Przedrostek sudo jeśli zalogowano się jako nieuprzywilejowany użytkownik, np. sudo vim.

  3. Naciśnij 'i' aby przejść do trybu wstawiania

  4. dodaj:

     export JAVA_HOME="ścieżka, którą znalazłeś"
    
     export PATH=$JAVA_HOME/bin:$PATH
  5. wyloguj się i zaloguj ponownie, zrestartuj komputer, lub użyj source /etc/profile aby zastosować zmiany natychmiast w bieżącej powłoce

Komentarze (13)

Możesz użyć /etc/profile lub lepiej pliku takiego jak /etc/profile.d/jdk_home.sh

export JAVA_HOME=/usr/java/jdk1.7.0_05/

Musisz pamiętać, że ten plik jest ładowany tylko z nowymi powłokami logowania... Czyli po bash -l lub nowej sesji gnome i że nie zmienia się on wraz z nowymi wersjami Javy.

Komentarze (5)

Robienie tego, co robi Oracle (jako były pracownik Sun nie mogę się do tego przyzwyczaić)

ln -s latestJavaRelease /usr/java/default Gdzie latestJavaRelease jest wersją, której chcesz użyć

następnie export JAVA_HOME=/usr/java/default

Komentarze (0)