在ubuntu中没有环境变量的maven工作

时间:2018-01-15 19:00:24

标签: eclipse maven ubuntu

我目前正在开发一个ubuntu pc。我在eclipse中创建了maven项目,并通过给出目标“干净安装”来构建它。它创建了战争文件。

但是当我使用命令printenv搜索maven home环境变量时 它在输出列表中没有显示M2_HOME。

当我发出命令echo $M2_HOME时,它显示空行。

当我发出命令mvn --version时,它给了我流动的输出

Apache Maven 3.3.9 
Maven home: /usr/share/maven
Java version: 1.8.0_151, vendor: Oracle Corporation 
Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-109-generic", arch: "amd64", family: "unix"

我的问题是,maven可以在没有环境变量的情况下工作吗?

2 个答案:

答案 0 :(得分:3)

  

可以在没有环境变量的情况下工作吗?

是的 - 你刚才证明了这一点。 :-)默认情况下,通过您的发布,/usr/share/maven$M2_HOME *。

如果您导航到包含pom.xml并运行mvn clean install的目录,您还应该成功构建。

另外2个笔记:

首先,Eclipse(至少Eclipse for Java EE Developers)默认包含自己的嵌入式Maven安装 - 因此您甚至不需要在操作系统级别安装Maven。如果您同时拥有这两者,则可能最终使用相同或单独的本地存储库副本等。

其次,为了扩展上述* - 至少从Maven 3.5.0开始,M2_HOME已不复存在。根据{{​​3}}:

  

基于使用M2_HOME与安装的不同Maven版本相关的问题并简化操作,M2_HOME的使用已被删除,不再支持MNG-5823,MNG-5836,MNG-5607。

另见:

总结以上参考资料,真正重要的是您的PATH变量 - 而不是M2_HOME

答案 1 :(得分:1)

所有Maven需要工作的是PATH环境变量中Java的路径。这是最低要求。它能够导出所有其他HOME变量供自己使用。除此之外,如果您希望能够从任何目录运行maven(而不是每次chdir进入maven的bin文件夹),您也可以将Maven自己的bin文件夹添加到PATH。< / p>

注意:在maven 3.5.0中,M2_HOME变量实际上是being removed。所以它不应再被使用了。