web-dev-qa-db-ja.com

MAVEN_HOME、MVN_HOMEまたはM2_HOME

正しいMaven環境変数名は何ですか:MAVEN_HOMEMVN_HOME、またはM2_HOME

MAVEN_HOMEおよびM2_HOMEhere に関する詳細を見つけました。しかし、MVN_HOMEも見ました。

59
cassiomolin

私は個人的にM2_HOMEを設定することが有用だとは思いませんでした。

重要なのは、$ PATH環境です。 Danixからの回答の一部をハイジャックし、必要なものは次のとおりです。

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

mvnスクリプトは、とにかくそれが価値があるものについてM2_HOMEを計算します。

48
Steve C

M2_HOME(など)は、Maven 3.5.0以降では使用されません。詳細については、 MNG-5607 および リリースノート を参照してください。

21
user318054

これが私の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
16
Danix

MAVEN_HOMEはmavenに使用されます1およびM2_HOMEはmavenの検索に使用2。 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'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 ----------------------------------------------------------------------------

@REM M2_HOME - location of maven2's installed home dirをご覧ください

とにかく、このパターンの使用は documentation に従ってmaven 3.5で非推奨になりました。

インストールされているさまざまなMavenバージョンに関連するM2_HOMEの使用に関する問題に基づいて、物事を簡素化するために、M2_HOMEの使用は削除され、サポートされなくなりました MNG-582MNG-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を正しく設定する必要があります。 新しいインストールガイド(2017年12月29日現在) に従って、maven binディレクトリパスをPATH変数に追加するだけです。トリックを行う必要があります。

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

4
prime

$M2_HOMEは、たとえば Takari Extensions for Apache Maven をインストールするために時々使用されます

$M2_HOME値を見つける1つの方法は、mvnを検索することです。

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

そして、おそらく:/opt/maven/

1
imriss