Slik angir du JAVA_HOME i Linux for alle brukere

Jeg er ny på Linux-systemet, og det ser ut til å være for mange Java-mapper.

java -version gir meg:

  • java version "1.7.0_55"
  • OpenJDK kjøretidsmiljø (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
  • OpenJDK 64-biters server-VM (build 24.51-b03, blandet modus)

Når jeg prøver å bygge et Maven-prosjekt, får jeg en feil:

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

Kan du vennligst fortelle meg hvilke filer jeg må endre for root- og ikke-root-brukere, og hvor nøyaktig ligger java?

Løsning
  1. find /usr/lib/jvm/java-1.x.x-openjdk.

  2. vim /etc/profile.

    Legg til sudo hvis du er logget inn som ikke-privilegert bruker, dvs. sudo vim.

  3. Trykk 'i' for å komme i innsettingsmodus.

  4. Legg til:

     export JAVA_HOME="path that you found"
    
     export PATH=$JAVA_HOME/bin:$PATH
  5. Logg ut og logg inn igjen, start på nytt, eller bruk source /etc/profile for å bruke endringene umiddelbart i ditt nåværende skall.

Kommentarer (13)

Du kan bruke /etc/profile eller enda bedre en fil som /etc/profile.d/jdk_home.sh.

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

Du må huske at denne filen bare lastes inn med nye innloggingsskall... Altså etter bash -l eller en ny gnome-session, og at den ikke endres med nye Java-versjoner.

Kommentarer (5)

Å gjøre det Oracle gjør (som tidligere Sun-ansatt kan jeg ikke venne meg til det).

ln -s latestJavaRelease /usr/java/default Der latestJavaRelease er den versjonen du ønsker å bruke.

deretter export JAVA_HOME=/usr/java/default

Kommentarer (0)