Wie kann man in Ubuntu für maven3 die Umgebungsvariablen PATH und M2_HOME dauerhaft setzen?

30

Ich habe die neueste apache-maven3.zip Datei heruntergeladen und extrahiert es in den Ordner: /home/gaurav/Java/maven3.

Ich weiß nicht, wie ich die Umgebungsvariablen für Maven festlegen soll - wie PATH und M2_HOME.

Ich habe Folgendes versucht:

export M2_HOME=/home/gaurav/Java/maven3

export PATH= /home/gaurav/Java/maven3/bin:${PATH}

Nachdem ich das eingestellt habe, lief ich mvn --versionund es läuft korrekt.

Aber wenn ich das nächste Mal meine Maschine starte und tippe $M2_HOME, werden mir die Details der Pfadvariablen nicht angezeigt und auch nicht mvn --versionausgeführt.

Bitte helfen Sie mir, das Problem des permanenten Einstellens von Umgebungsvariablen in Ubuntu zu lösen.

Gaurav Dighe
quelle
Schauen Sie sich auf diese
Mitch

Antworten:

22

Update: Eliah hat mich darauf hingewiesen, dass Sie Ihre Umgebungsvariablen speichern sollten, wenn Sie sie nicht dynamisch erstellen /etc/environment. Um M2_HOMEdas binVerzeichnis festzulegen und zu Ihrem hinzuzufügen PATH, ändern Sie Ihr Verzeichnis /etc/environmentwie folgt. Stellen Sie sicher, dass Sie nicht nur kopieren / einfügen, da Ihre /etc/environmentDatei möglicherweise eine andere PATHVariable hat als meine.

M2_HOME="/home/gaurav/Java/maven3"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/gaurav/Java/maven3/bin"


Alternative (nicht empfohlene) Methode: Wie bereits von Mitch erwähnt, müssen Sie eine Konfigurationsdatei bearbeiten, um Ihren PFAD dauerhaft zu ändern. Ich habe mich für die Bearbeitung meiner /etc/profileKonfigurationsdatei entschieden, da diese systemweit gilt. Führen Sie zum Bearbeiten dieser Datei sudo nano /etc/profileFolgendes aus:

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

JAVA_HOME=/usr/lib/jvm/java-6-oracle/
export JAVA_HOME

M2_HOME=/usr/local/apache-maven/apache-maven-3.0.4
export M2_HOME
M2=$M2_HOME/bin
export M2

PATH=$PATH:$JAVA_HOME
PATH=$PATH:$M2
export PATH
Connor Brinton
quelle
1
Gibt es Gründe , nicht zu setzen gerade die JAVA_HOME, M2_HOMEund M2Definitionen in /etc/environment, statt?
Eliah Kagan
Dies ist definitiv die semantisch korrekte Vorgehensweise (da /etc/environmentdas Speichern systemweiter Umgebungsvariablen empfohlen wird). Aber ich wollte nur alle meine Umgebungsvariablen am selben Ort behalten. Wenn es eine Möglichkeit gäbe, meine PATHVariable dynamisch nur mit zu erstellen /etc/environment, würde ich sofort wechseln.
Connor Brinton
1
Da dies Ihre Motivation ist, möchten Sie möglicherweise die Verwendung von /etc/environmentals Alternative hinzufügen, da das Ziel, alle Zuordnungen Ihrer Umgebungsvariablen an derselben Stelle zu platzieren, nicht unbedingt das Ziel dieses OP oder das Ziel der meisten anderen Personen ist, die von dieser Frage betroffen sind. Möglicherweise möchten Sie dieses Ziel auch noch einmal überprüfen: In den meisten Fällen sollten Umgebungsvariablen auf Benutzerkontoebene hinzugefügt werden, um nur einen einzelnen Benutzer zu betreffen. (Dann können sie in ~/.pam_environmentoder gehen ~/.profile.) Es ist wahr, dass einige Zuweisungen von Umgebungsvariablen dynamisch sind und in Skripten erfolgen müssen.
Eliah Kagan
@ connor.brinton obwohl ich sagte, der Pfad mit der obigen Methode (Bearbeitung der /etc/environment) ist mein Pfad immer noch nicht festgelegt
Kasun Siyambalapitiya
3

Sie müssen Ihren PATH zu /etc/bash.bashrc als root hinzufügen.

Führen Sie von root aus die folgenden Schritte aus:

  1. sudo nano /etc/bash.bashrc
  2. Fügen Sie am Ende der Datei die folgende Zeile hinzu:

    PATH=/home/computer/application/bin:$PATH  
    

Dies ist nur eine Pseudoadresse. Ändern Sie es entsprechend der Adresse, die Sie wünschen, und fügen Sie das :$PATHnach ihm hinzu.

Dies ist für Ubuntu.

Kaffee und Codes
quelle