Какое правильное имя переменной среды Maven: MAVEN_HOME
, MVN_HOME
или M2_HOME
?
Я нашел несколько подробностей о MAVEN_HOME
и M2_HOME
здесь. Но я также видел MVN_HOME
вокруг.
Какое правильное имя переменной среды Maven: MAVEN_HOME
, MVN_HOME
или M2_HOME
?
Я нашел несколько подробностей о MAVEN_HOME
и M2_HOME
здесь. Но я также видел MVN_HOME
вокруг.
Мне лично никогда не было удобно устанавливать M2_HOME
.
Что такое ваша среда PATH. Угнать часть ответа от Danix, все, что вам нужно, это:
export PATH=/Users/xxx/sdk/apache-maven-3.0.5/bin:$PATH
mvn
script вычисляет M2_HOME
для вас в любом случае за то, что он стоит.
Вот моя настройка Maven. Вы можете использовать его в качестве примера. Вам не нужно ничего другого, чтобы использовать Maven.
M2_HOME используется как для Maven 2, так и для 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
M2_HOME
(или любой другой) не должен использоваться с Maven 3.5.0. Подробнее см. MNG-5607 и Примечания к выпуску.
$M2_HOME
используется иногда, например, для установки Takari Extensions for Apache Maven
Одним из способов найти значение $M2_HOME
является поиск mvn
:
sudo find / -name "mvn" 2>/dev/null
И, вероятно, это будет: /opt/maven/
MAVEN_HOME используется для maven 1 и M2_HOME используется для нахождения maven 2. Наличие двух разных переменных _HOME означает, что можно запускать оба на одном компьютере. И если вы проверяете старые сценарии mvn.cmd, у них есть что-то вроде
@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 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 ----------------------------------------------------------------------------
Посмотрите, что @REM M2_HOME - location of maven2 installed home dir
В любом случае использование этого шаблона теперь устарело с помощью maven 3.5 в соответствии с documentation.
Основываясь на проблемах использования M2_HOME, связанных с различными версиями Maven, установленных и упрощающих, использование M2_HOME было удалено и больше не поддерживается MNG-5823, MNG-5836, MNG-5607
Итак, теперь 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 -----------------------------------------------------------------------------
Итак, вам нужно правильно установить JAVA_HOME. В соответствии с новое руководство по установке (по состоянию на 12/29/2017), Просто добавьте путь каталога maven bin к переменной PATH. Он должен сделать трюк.
ex: export PATH=/opt/apache-maven-3.5.2/bin:$PATH
У нас есть M2_HOME, MAVEN_HOME, M3_HOME все доступны на рынке
Ранее M2_HOME - единственная переменная среды, используемая всеми как стандарт.
Но благодаря последним релизам MAVEN_Home стал стандартным, но некоторые старые инструменты все еще пытаются найти только M2_HOME
поэтому мы должны иметь как M2_HOME, MAVEN_HOME для поддержки старыми и новыми инструментами.
M2_HOME может использоваться как для