java - installing - mkyong maven windows 10
MAVEN_HOME, MVN_HOME o M2_HOME (6)
Aquí está mi configuración de Maven. Puedes usarlo como un ejemplo. No necesitas nada más para usar Maven.
M2_HOME se usa tanto para Maven 2 como para 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
¿Cuál es el nombre correcto de la variable de entorno Maven: MAVEN_HOME
, MVN_HOME
o M2_HOME
?
Encontré algunos detalles sobre MAVEN_HOME
y M2_HOME
here . Pero también he visto a MVN_HOME
.
Personalmente, nunca me ha M2_HOME
útil establecer M2_HOME
.
Lo que cuenta es su entorno $ PATH. Secuestrando parte de la respuesta de Danix, todo lo que necesitas es:
export PATH=/Users/xxx/sdk/apache-maven-3.0.5/bin:$PATH
El script mvn
calcula M2_HOME
para usted de todos modos por lo que vale.
Tenemos M2_HOME, MAVEN_HOME, M3_HOME, todos están disponibles en el mercado
Anteriormente M2_HOME es la única variable de entorno utilizada por todos como estándar.
Pero, debido a las últimas versiones, el MAVEN_Home viene de serie, pero algunas herramientas antiguas aún están tratando de encontrar solo M2_HOME
así que deberíamos tener M2_HOME, MAVEN_HOME para mantener con herramientas antiguas y nuevas.
M2_HOME se puede usar también para ambos
$M2_HOME
se usa a veces, por ejemplo, para instalar Takari Extensions for Apache Maven
Una forma de encontrar el valor de $M2_HOME
es buscar mvn
:
sudo find / -name "mvn" 2>/dev/null
Y, probablemente será: /opt/maven/
M2_HOME
(o cualquier otro) no debe usarse a partir de Maven 3.5.0. Ver MNG-5607 y Notas de la versión para más detalles.
MAVEN_HOME se utiliza para maven 1 y M2_HOME se usa para ubicar maven 2 . Tener las dos variables _HOME diferentes significa que es posible ejecutar ambos en la misma máquina. Y si revisas scripts antiguos mvn.cmd , tienen algo así como:
@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 ----------------------------------------------------------------------------
Mira ese @REM M2_HOME - location of maven2''s installed home dir
De todos modos, el uso de este patrón ahora está en desuso con maven 3.5 según la documentación .
En base a los problemas en el uso de M2_HOME relacionado con las diferentes versiones de Maven instaladas y para simplificar las cosas, el uso de M2_HOME ha sido eliminado y ya no se admite MNG-5823 , MNG-5836 , MNG-5607
Así que ahora parece mvn.cmd,
@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 -----------------------------------------------------------------------------
Entonces, lo que necesita es que JAVA_HOME esté configurado correctamente. Según la nueva guía de instalación (a partir del 29/12/2017) , solo agregue la ruta del directorio maven bin a la variable PATH. Debería hacer el truco.
ex: export PATH=/opt/apache-maven-3.5.2/bin:$PATH