【问题标题】:Maven environment variables on MACOSXMACOSX 上的 Maven 环境变量
【发布时间】:2013-05-04 11:43:39
【问题描述】:

我有 MacOSX 10.8.3。 Maven 是作为 Spring STS 安装的一部分安装的。我是 unix/maven 等的新手,我想了解是否需要设置任何环境变量或路径。从终端我可以输入 mvn -v 并得到响应:

Apache Maven 3.0.3 (r1075438; 2011-02-28 17:31:09+0000) Maven 主页: /usr/share/maven Java 版本:1.7.0_21,供应商:甲骨文公司 Java主页: /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home/jre 默认语言环境:en_US,平台编码:UTF-8 操作系统名称:“mac os x”, 版本:“10.8.3”,拱:“x86_64”,家庭:“mac”

但我没有看到任何路径条目,或任何导出的 M2_HOME 变量,所以我不确定 mvn -v 如何提供响应(没有 bin 文件夹的路径?)。

echo $PATH 给出

/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

出口给出:

声明 -x Apple_PubSub_Socket_Render="/tmp/launch-9lPMFU/Render" 声明-x Apple_Ubiquity_Message="/tmp/launch-o1QSkR/Apple_Ubiquity_Message" 声明 -x COMMAND_MODE="unix2003" 声明 -x DISPLAY="/tmp/launch-kr0aSv/org.macosforge.xquartz:0" 声明 -x HOME="/Users/me" 声明 -x JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home" 声明 -x LANG="en_GB.UTF-8" 声明 -x LOGNAME="me" 声明 -x OLDPWD="/Users/me" 声明 -x PATH="/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin" 声明 -x PWD="/Users/me/Downloads" 声明 -x SHELL="/bin/bash" 声明 -x SHLVL="1" 声明 -x SSH_AUTH_SOCK="/tmp/launch-Jhd7XW/Listeners" 声明 -x TERM="xterm-256color" 声明 -x TERM_PROGRAM="Apple_Terminal" 声明 -x TERM_PROGRAM_VERSION="309" 声明 -x TERM_SESSION_ID="0B75432B-E0F0-4644-8197-848207C66C8E" 声明 -x TMPDIR="/var/folders/x5/9gzybc0s3sj_bbt0_b1bts2c0000gn/T/" 声明-x USER="me" 声明 -x __CF_USER_TEXT_ENCODING="0x1F5:0:0"

我可以看到有一个用于安装的符号链接

在 /usr/share

maven -> java/maven-3.0.3

只是想了解已经完成的工作,以及完成的地方......以及是否需要做其他事情?

问候

【问题讨论】:

    标签: macos maven


    【解决方案1】:

    当 maven 打印出这个输出时,你得到的一切都是好的,你不需要改变任何东西。您还找到了 maven 主文件夹 /usr/share/maven 和符号链接,以便更轻松地更新到较新的 maven 版本。

    但是在命令行上你调用 mvn。要执行此命令,它必须是由

    组成的 $PATH 的一部分
    /usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin
    

    所以要找到丢失的链接,请在终端上执行以下语句:

    which mvn
    

    这应该向您显示 mvn 命令的位置,它也应该是 /usr/share/maven/bin/mvn 或类似的符号链接,并且应该位于 PATH 变量中的文件夹中。

    【讨论】:

    • 嗨,谢谢。其中 mvn 给了我 /usr/bin/mvn,它是 /usr/share/maven/bin/mvn 的符号链接。我有一个到 usr/bin 的路径条目 - 所以我想这解释了它!谢谢
    • 您好,我可以检查一下 M2_HOME 环境变量的设置位置吗?我在运行 EXPORT 命令时看不到它们的设置?另外,刚刚意识到我列出了 Mac OSX 附带的 Maven 3.03,而不是 STS 安装附带的 3.04……所以需要以某种方式升级 Maven。
    • 当导出到不列出时,它没有设置。 Maven 不需要该变量,因为 mvn 命令知道他是否找到了自己以及他需要的文件。要升级 Maven,您可以将新版本解压缩到您找到的 maven-3.0.3 文件夹旁边的 /usr/share,并更正符号链接以指向 maven-3.0.4。或者你看看macports.org并通过这个工具安装maven。
    • 谢谢。我是否需要安装 Maven 3.0.4,因为 Eclipse STS 似乎设置为使用 Maven 3.0.4(嵌入式)。不确定嵌入式是什么意思,但我认为它指向安装随附的 3.0.4 安装 - 但不在任何系统路径上。
    • Embedded 通常意味着 STS 自带 maven 并使用它。所以 STS 不关心你是否安装了 maven 或者它是否使用他自己的,因为它知道要搜索它。有时您可以覆盖环境变量(可能是 M2_HOME)使用的嵌入式版本。但我对 STS 插件了解不够。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    相关资源
    最近更新 更多