wake-up-neo.com

MAVEN_HOME, MVN_HOME oder M2_HOME

Wie lautet der korrekte Name der Maven-Umgebungsvariablen: MAVEN_HOME, MVN_HOME Oder M2_HOME?

Ich habe einige Details zu MAVEN_HOME Und M2_HOME Gefunden hier . Aber ich habe auch MVN_HOME Gesehen.

59
cassiomolin

Ich persönlich fand es nie nützlich, M2_HOME.

Was zählt, ist Ihre $ PATH-Umgebung. Wenn Sie einen Teil der Antwort von Danix entführen, brauchen Sie nur Folgendes:

export PATH=/Users/xxx/sdk/Apache-maven-3.0.5/bin:$PATH

Das Skript mvn berechnet M2_HOME für dich jedenfalls für das, was es wert ist.

48
Steve C

M2_HOME (und dergleichen) ist ab Maven 3.5.0 nicht mehr zu verwenden. Weitere Informationen finden Sie unter MNG-5607 und Versionshinweise .

21
user318054

Hier ist mein Maven-Setup. Sie können es als Beispiel verwenden. Sie brauchen nichts anderes, um Maven zu benutzen.

M2_HOME wird für Maven 2 und 3 verwendet

export M2_HOME=/Users/xxx/sdk/Apache-maven-3.0.5
export M2=$M2_HOME/bin
export MAVEN_OPTS="-Xmx1048m -Xms256m -XX:MaxPermSize=312M"
export PATH=$M2:$PATH
16
Danix

MAVEN_HOME wird für Maven 1 und M2_HOME wird verwendet, um den Maven 2 zu lokalisieren . Mit den zwei verschiedenen _HOME-Variablen ist es möglich, beide auf demselben Computer auszuführen. Und wenn Sie alte mvn.cmd Skripte überprüfen, haben sie so etwas wie

@REM ----------------------------------------------------------------------------
@REM Maven2 Start Up Batch script
@REM
@REM Required ENV vars:
@REM Java_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM     e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------

Siehst du das @REM M2_HOME - location of maven2's installed home dir

Wie auch immer, die Verwendung dieses Musters ist jetzt mit maven 3.5 gemäß Dokumentation veraltet.

Aufgrund von Problemen bei der Verwendung von M2_HOME im Zusammenhang mit verschiedenen installierten Maven-Versionen und zur Vereinfachung wurde die Verwendung von M2_HOME entfernt und wird nicht mehr unterstützt MNG-582 , MNG-5836 =, MNG-5607

So, jetzt sieht die mvn.cmd so aus:

@REM -----------------------------------------------------------------------------
@REM Apache Maven Startup Script
@REM
@REM Environment Variable Prerequisites
@REM
@REM   Java_HOME          Must point at your Java Development Kit installation.
@REM   MAVEN_BATCH_ECHO  (Optional) Set to 'on' to enable the echoing of the batch commands.
@REM   MAVEN_BATCH_PAUSE (Optional) set to 'on' to wait for a key stroke before ending.
@REM   MAVEN_OPTS        (Optional) Java runtime options used when Maven is executed.
@REM   MAVEN_SKIP_RC     (Optional) Flag to disable loading of mavenrc files.
@REM -----------------------------------------------------------------------------

Also, was Sie brauchen, ist Java_HOME, um richtig eingestellt zu sein. Fügen Sie gemäß neue Installationsanleitung (Stand 29.12.2017) einfach den Verzeichnispfad maven bin zur Variablen PATH hinzu. Es sollte den Trick machen.

ex : export PATH=/opt/Apache-maven-3.5.2/bin:$PATH

4
prime

$M2_HOME Wird manchmal verwendet, um beispielsweise Takari Extensions for Apache Maven zu installieren

Eine Möglichkeit, den Wert $M2_HOME Zu finden, besteht darin, nach mvn zu suchen:

Sudo find / -name "mvn" 2>/dev/null

Und wahrscheinlich wird es sein: /opt/maven/

1
imriss