Πώς να ορίσετε το JAVA_HOME στο Linux για όλους τους χρήστες

Είμαι νέος στο σύστημα Linux και φαίνεται να υπάρχουν πάρα πολλοί φάκελοι Java.

Το java -version μου δίνει:

  • java version "1.7.0_55&quot,
  • Περιβάλλον εκτέλεσης OpenJDK (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
  • OpenJDK 64-Bit Server VM (build 24.51-b03, μικτή λειτουργία)

Όταν προσπαθώ να χτίσω ένα έργο Maven , λαμβάνω σφάλμα:

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

Θα μπορούσατε να μου πείτε ποια αρχεία πρέπει να τροποποιήσω για τον χρήστη root καθώς και για τον χρήστη not-root και πού ακριβώς βρίσκεται η java;

Λύση
  1. find /usr/lib/jvm/java-1.x.x-openjdk

  2. vim /etc/profile

    Προσθέστε sudo αν συνδεθείτε ως μη προνομιούχος χρήστης, δηλαδή sudo vim.

  3. Πατήστε 'i' για να μπείτε σε λειτουργία εισαγωγής 4:

     export JAVA_HOME="path that you found&quot,
    
     export PATH=$JAVA_HOME/bin:$PATH
  4. αποσυνδεθείτε και συνδεθείτε ξανά, κάντε επανεκκίνηση ή χρησιμοποιήστε το source /etc/profile για να εφαρμόσετε τις αλλαγές αμέσως στο τρέχον κέλυφος σας

Σχόλια (13)

Θα μπορούσατε να χρησιμοποιήσετε το /etc/profile ή καλύτερα ένα αρχείο όπως το /etc/profile.d/jdk_home.sh

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

Πρέπει να θυμάστε ότι αυτό το αρχείο φορτώνεται μόνο με νέα κελύφη σύνδεσης.. Έτσι μετά από bash -l ή μια νέα gnome-session και ότι δεν αλλάζει με νέες εκδόσεις της Java.

Σχόλια (5)

Να κάνει αυτό που κάνει η Oracle (ως πρώην υπάλληλος της Sun δεν μπορώ να το συνηθίσω αυτό)

ln -s latestJavaRelease /usr/java/default Όπου latestJavaRelease είναι η έκδοση που θέλετε να χρησιμοποιήσετε

τότε export JAVA_HOME=/usr/java/default

Σχόλια (0)