Hoe JAVA_HOME instellen in Linux voor alle gebruikers

Ik ben nieuw op Linux systeem en er schijnen teveel Java mappen te zijn.

java -version geeft me:

  • 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, gemengde modus)

Wanneer ik een Maven project probeer te bouwen, krijg ik de foutmelding:

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

Kunt u mij vertellen welke bestanden ik moet aanpassen voor zowel de root als de niet-root gebruiker en waar java zich precies bevindt?

Oplossing
  1. zoek /usr/lib/jvm/java-1.x.x-openjdk

  2. vim /etc/profile

    Geef sudo als je ingelogd bent als niet-bevoegde gebruiker, dus sudo vim

  3. Druk op 'i' om in de invoegmodus te komen

  4. toevoegen:

     export JAVA_HOME="pad dat je gevonden hebt"
    
     export PATH=$JAVA_HOME/bin:$PATH
  5. log uit en log weer in, reboot, of gebruik source /etc/profile om veranderingen direct toe te passen in je huidige shell

Commentaren (13)

Je zou /etc/profile kunnen gebruiken of beter een bestand als /etc/profile.d/jdk_home.sh

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

Je moet onthouden dat dit bestand alleen geladen wordt bij nieuwe login shells... Dus na bash -l of een nieuwe gnome-sessie en dat het'niet verandert bij nieuwe Java versies.

Commentaren (5)

Doen wat Oracle doet (als voormalig Sun-werknemer kan ik daar maar niet aan wennen)

ln -s latestJavaRelease /usr/java/default Waarbij latestJavaRelease de versie is die je wilt gebruiken

dan exporteer JAVA_HOME=/usr/java/default

Commentaren (0)