java MAVEN_HOME、MVN_HOME或M2_HOME [副本]

vbopmzt1  于 2023-04-28  发布在  Java
关注(0)|答案(8)|浏览(139)

此问题已在此处有答案

What is the difference between M2_HOME and MAVEN_HOME(2个答案)
1年前关闭。
正确的Maven环境变量名是什么:MAVEN_HOMEMVN_HOMEM2_HOME
我找到了一些关于MAVEN_HOMEM2_HOMEhere的细节。但我也看到了MVN_HOME周围。

rks48beu

rks48beu1#

我个人从未发现设置M2_HOME有用。
关键是你的$PATH环境。从Danix劫持部分答案,你所需要的就是:

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

mvn脚本为您计算M2_HOME

3qpi33ja

3qpi33ja2#

M2_HOME(和类似的)从Maven 3开始不再使用。5.0.详见MNG-5607Release Notes

efzxgjgh

efzxgjgh3#

这是我的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
kq4fsx7k

kq4fsx7k4#

MAVEN_HOME用于maven 1M2_HOME****用于定位maven 2。拥有两个不同的_HOME变量意味着可以在同一台机器上运行这两个变量。如果你检查旧mvn。cmdscripts他们有类似的东西,

@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
无论如何,这个模式的使用现在在maven 3中被弃用了。根据documentation
基于与安装的不同Maven版本相关的使用M2_HOME的问题,为了简化事情,M2_HOME的使用已被删除,并且不再支持MNG-5823MNG-5836MNG-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。根据new installation guide (as of 12/29/2017),只需将maven bin目录路径添加到PATH变量。它应该能起作用。
型号:export PATH=/opt/apache-maven-3.5.2/bin:$PATH

eiee3dmh

eiee3dmh5#

在Windows上,当前查找settings.xml的方法是转到%USERPROFILE%。在这里,包含一个目录.m2,在那里可以找到settings.xml

请勿使用M2_HOME。自Apache Maven 3起不受支持。5.0:

基于与安装的不同Maven版本相关的使用M2_HOME的问题,为了简化事情,M2_HOME的使用已被删除,不再支持MNG-5823MNG-5836MNG-5607
Windows用户的重要更改:%HOME%的用法已替换为%USERPROFILE%MNG-6001
资料来源: www.example.com
注意:我在chocolatey的Apache Maven包设置M2_HOME时偶然发现了这个问题--我想定位settings.xml

wwodge7n

wwodge7n6#

$M2_HOME有时用于安装Takari Extensions for Apache Maven
查找$M2_HOME值的一种方法是搜索mvn

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

而且,可能会是:/opt/maven/

5f0d552i

5f0d552i7#

我用以下方法解决了同样的问题:

export M2_HOME=/usr/share/maven
r9f1avp5

r9f1avp58#

我们有M2_HOME,MAVEN_HOME,M3_HOME都在市场上可用
以前,M2_HOME是唯一被所有人用作标准的环境变量。
但是,由于最新版本的MAVEN_Home作为标准,但一些旧的工具仍然试图只找到M2_HOME
因此,我们应该同时使用M2_HOME、MAVEN_HOME来支持新旧工具。
M2_HOME也可用于两者

相关问题