2012-04-12 6 views
4

Es scheint keine offizielle Antwort darauf zu geben, wo Sie Ihr systemweites JAVA_HOME in Linux einstellen müssen, zumindest habe ich keins gefunden (sah auf der Oracle-Website und einigen Google-Fu). Viele Foren und Kommentare Punkt, an es in/etc/profile einstellen oder auch/etc/bashrc/(oder /etc/bashrc.bashrc), aber auf meinem System diese beiden Dateien Header sind ganz spezifisch überWie kann man JAVA_HOME systemweit unter Linux einrichten?/etc/profile oder /etc/profile.d/custom.sh?

Schaffung

" ein custom.sh-Shell-Skript in /etc/profile.d/ [...], da dies verhindert, dass in künftigen Updates eine Zusammenführung erforderlich ist. "

anstatt die Dateien direkt zu ändern.

Aus diesem Grund habe ich die custom.sh Shell-Skript in /etc/profile.d platziert denke ist der Weg zu gehen, aber ich könnte etwas damit diese Frage fehlt =)

Bitte verzeihen Sie mir, wenn ich verpasste einen offiziellen doc und poste einfach den Link!


+2

Hängt von Ihrer Distribution ab. Das ist es, was Sie sehen sollten. – Mat

+0

Es hängt von der Verteilung ab (wie @Mat bereits darauf hingewiesen hat), aber was auch immer Sie tun: Bearbeiten Sie es nicht in bashrc, da dies verschiedene Shells nicht beeinflussen würde./etc/profile sollte in den meisten Fällen funktionieren. (Diese Frage wäre besser geeignet für [SuperUser] (http://superuser.com) oder [UNIX und Linux] (http://unix.stackexchange.com) obwohl) – jorey

+0

Ich zögerte mit dem Posten auf SuperUser, weil es JDK/ist JRE bezogen vielleicht werden die Admins flaggen und sich dort bewegen? Ich glaube nicht, dass ich es selbst bewegen kann. Da es von RPM basierten Distributionen abhängig ist, scheint die "yum install" aus dem offiziellen Repository weder/etc/profile zu modifizieren, noch fügt es eine Datei in /etc/profile.d hinzu, muss aber irgendwo JAVA_HOME setzen, oder? Die Installationsdokumente sind ziemlich schlank und haben keine Erwähnung darüber gefunden, wie Sie JAVA_HOME in einem offiziellen Dokument für CentOS oder RHEL einstellen können. –

Antwort

5

Sie haben ziemlich Ihre eigene Frage mit dem Absatz beantwortet, der "aus diesem Grund ..." beginnt. Die einzige Zeit, die ich /etc/profile bearbeite, ist, wenn ich verändere etwas Wert darin (eher als etwas hinzuzufügen).

Wenn verschiedene Softwarepakete hinzugefügt, die Benutzerprofile zu ändern benötigen, fügen die meisten Distributionen ein entsprechendes Skript an das /etc/profile.d Verzeichnis und der Basis-Installation /etc/profile Skript einen Aufruf an alle ausführbaren Skripte in diesem Verzeichnis hat. (Beim Aktualisieren/Entfernen des mitgelieferten Pakets wird das Skript im Unterverzeichnis geändert oder entfernt.)

7

ich in der Regel eine java_dev.sh Datei in /etc/profile.d/ machen enthalten:

export JAVA_HOME=/opt/javahome 
export M2_HOME=/opt/mavenhome 
export PATH=${JAVA_HOME}/bin:${M2_HOME}/bin:${PATH} 

oder dergleichen. Ich benutze dies auf allen Linuxen, die ich häufig benutze, Ubuntu, RH, Fedora ...