2014-10-28 5 views

Antwort

29

Ich habe es persönlich nie nützlich M2_HOME einzustellen gefunden verwendet.

Was zählt, ist Ihre $ PATH-Umgebung. Hijacking ein Teil der Antwort von Danix, alles, was Sie brauchen, ist:

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

Das mvn Skript berechnet M2_HOME für Sie ohnehin für das, was es wert ist.

+0

+1. Ich würde sogar sagen, dass 'M2_HOME' in der Vergangenheit immer zu seltsamen Fehlern geführt hat, meistens' NoClassDefFoundError', weil der 'mvn'-Befehl im PATH gefunden wurde, aber mit einer anderen Maven-Version über' M2_HOME' gefunden wurde. Mein Leben war besser, seit ich die Einstellung env var eingestellt habe und nur noch das Verzeichnis '.../bin/mvn' zu' PATH' hinzufüge und Maven automatisch Dinge erkennen lassen würde. –

16

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

M2_HOME wird sowohl für Maven 2 und 3

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 
2

$M2_HOME wird manchmal zum Beispiel verwendet wird, ist Takari Extensions for Apache Maven

Ein Weg $M2_HOME Wert zu installieren finden mvn suchen:

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

Und wahrscheinlich wird es sein: /opt/maven/

-3

Wir haben M2_HOME, MAVEN_HOME, M3_HOME alle sind im Markt verfügbar
Zuvor M2_HOME ist die einzige Umgebung var iable wird von allen als Standard benutzt.
Aber aufgrund der neuesten Versionen der MAVEN_Home kam als Standard, aber einige alte Werkzeuge sind immer noch nur M2_HOME
zu finden, so dass wir sowohl M2_HOME, MAVEN_HOME mit alten und neuen Werkzeugen erhalten sollten.
M2_HOME kann auch für beide verwendet werden

2

M2_HOME (oder eine andere) ist nicht wie von Maven 3.5.0 verwendet werden. Einzelheiten siehe MNG-5607 und Release Notes.

2

MAVEN_HOME für maven 1 und M2_HOMEwird verwendet, verwendet maven 2 zu lokalisieren. Mit den zwei verschiedenen _HOME-Variablen ist es möglich, beide auf demselben Rechner 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 ---------------------------------------------------------------------------- 

Sehen Sie, dass @REM M2_HOME - location of maven2's installed home dir

Auf jeden Fall Verwendung dieses Muster jetzt mit Maven 3.5 gemäß der documentation ist veraltet.

Basierend auf Probleme M2_HOME bei der Verwendung im Zusammenhang mit verschiedenen Maven-Versionen installiert und die Dinge zu vereinfachen, hat die Verwendung von M2_HOME entfernt worden ist und jeden MNG-5823 mehr nicht unterstützt wird, MNG-5836, MNG-5607

So, jetzt die mvn.cmd aussehen wie,

@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 korrekt eingestellt werden. Wie in der new installation guide (as of 12/29/2017), Fügen Sie einfach den Maven bin Verzeichnispfad zur PATH-Variablen hinzu. Es sollte den Trick machen.

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