【问题标题】:What is the difference between M2_HOME and MAVEN_HOMEM2_HOME 和 MAVEN_HOME 有什么区别
【发布时间】:2013-06-12 17:54:20
【问题描述】:

我有两个版本的 maven home 环境变量 - M2_HOMEMAVEN_HOME

需要设置哪一个?

【问题讨论】:

    标签: maven development-environment


    【解决方案1】:

    MAVEN_HOME 用于 Maven 1,M2_HOME 用于 Maven 2 及更高版本。

    Maven 2 是对 Maven 1 的完全重写,并且不向后兼容。拥有两个不同的_HOME 变量意味着可以在同一台机器上同时运行这两个变量。

    更新

    从 maven 3.5.0 开始,这些环境变量都不应该被指定。相反,应该更新路径以包含 mvn 可执行文件。

    【讨论】:

    • 并且 M2_HOME\bin 也应该添加到 PATH 中,以便从命令行上的任何目录访问它:)
    • 从 Maven 3 开始,不再需要使用像 MAVEN_HOMEM2_HOME 这样的环境变量。 /usr/share/maven/之类的Maven安装的bin路径就够了。
    • 他们到底为什么要删除那些环境变量?这些环境变量使更改 Maven 安装和本地存储库目录成为可能。现在你不能将 ~/.m2 目录移动到某个地方。他们应该努力使其符合 XDG 目录规范。
    【解决方案2】:

    而且,具有讽刺意味的是,对于 Maven 版本 3,您仍然必须使用 M2_HOME 和 M2。否则,它会失败,因为出于某种奇怪的原因,他们在 Maven V3.x 中没有遵循这种逻辑方法。

    因此,在不重写配置的情况下在同一台机器上支持 Maven 2 和 Maven 3 并不容易。

    【讨论】:

    • 我只是想知道这种轻率行为背后的思考过程。
    猜你喜欢
    • 2014-12-23
    • 2016-03-05
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    相关资源
    最近更新 更多