在OSX Maverick中找不到mvn命令

问题描述 投票:25回答:4

在将此标记为重复之前,我查看了这些帖子,但没有任何帮助。 'mvn' is not recognized as an internal or external command, Getting -bash: mvn: command not foundCan't access mvn command from command line?

有些是特定的窗口,没有帮助。他们中的一些人在Mac OS X上提出了建议,我试过但没有帮助。

我尝试了什么(这正是Maven建议的):

将分发存档(即apache-maven-3.1.1-bin.tar.gz)解压缩到要安装Maven 3.1.1的目录。这些说明假设您选择了/ usr / local / apache-maven。将从存档创建子目录apache-maven-3.1.1。在命令终端中,添加M2_HOME环境变量,例如, export M2_HOME = / usr / local / apache-maven / apache-maven-3.1.1。添加M2环境变量,例如出口M2 = $ M2_HOME / bin。可选:添加MAVEN_OPTS环境变量以指定JVM属性,例如导出MAVEN_OPTS =“ - Xms256m -Xmx512m”。此环境变量可用于为Maven提供额外选项。将M2环境变量添加到您的路径中,例如export PATH = $ M2:$ PATH。确保将JAVA_HOME设置为JDK的位置,例如导出JAVA_HOME = / usr / java / jdk1.5.0_02并且$ JAVA_HOME / bin位于PATH环境变量中。运行mvn --version以验证它是否已正确安装。

我在用于安装的terminal上看到它,它工作正常。我没有这个问题。但当我尝试新的terminal时,我得到了command not found

我还将export PATH=$M2添加到我的.bashrc,我做了source,然后重新启动终端,仍然没有帮助。

有人可以建议如何在终端的所有会话中提供它吗?

谢谢

macos bash maven terminal
4个回答
49
投票

如果这些可能有用,请尝试以下操作

由于您的安装在您安装的终端上运行,所以您所做的所有exports都在current bash and its child process上工作。但并没有产生新的terminals

如果会话结束,env变量将丢失;使用.bash_profile,你可以在所有会话中使用它,因为当bash会话开始时,它'运行'它的.bashrc and .bash_profile

现在请按照以下步骤查看是否有帮助:

  1. 在正在工作的终端上键入env | grep M2_HOME。这应该给出类似的东西 M2_HOME =的/ usr /本地/ Apache-行家/ Apache的行家-3.1.1
  2. 输入env | grep JAVA_HOME应该这样: JAVA_HOME = /图书馆/的Java / JavaVirtualMachines / jdk1.7.0_40.jdk /内容/首页

现在你有了M2_HOMEJAVA_HOME的路径。

如果你只是做ls /usr/local/apache-maven/apache-maven-3.1.1/bin,你会在那里看到mvn二进制文件。您现在要做的就是每次使用PATH指向此位置。因为bash搜索PATH中提到的所有目录路径,它会找到mvn

  1. 现在打开.bash_profile,如果你没有一个只是创建一个 vi~ / .bash_profile

添加以下内容:

#set JAVA_HOME
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
export JAVA_HOME


M2_HOME=/usr/local/apache-maven/apache-maven-3.1.1
export M2_HOME

PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
export PATH
  1. 保存文件并输入source ~/.bash_profile。这个步骤执行.bash_profile文件中的命令,你现在好了。
  2. 打开一个新的终端并键入应该工作的mvn

8
投票

这对我有用。

首先,我检查了M2_HOME变量是否设置为env | grep M2_HOME。我什么都没有。

我知道我已经在文件夹“/usr/local/apache-maven-3.2.2”中安装了Maven,因此执行以下3个步骤解决了我的问题:

  1. 设置M2_HOME env变量

M2_HOME=/usr/local/apache-maven-3.2.2

  1. 设置M2 env变量

M2=$M2_HOME/bin

  1. 更新PATH

export PATH=$M2:$PATH

如上所述,如果您希望自动执行该序列,可以将该序列保存在.bash_profile文件中。


5
投票

我在macOS Sierra版本10.12.6上做到了这一点。上面的解决方案很好,但它们需要〜/ .bash_profile。 /usr/local/bin已经在$ PATH中,可以通过echo $PATH来确认。 Download maven并运行以下命令 -

$ cd ~/Downloads
$ tar xvf apache-maven-3.5.3-bin.tar.gz
$ mv apache-maven-3.5.3 /usr/local/
$ cd /usr/local/bin
$ sudo ln -s ../apache-maven-3.5.3/bin/mvn mvn
$ mvn -version
$ which mvn

注意:apache maven的版本将是您要下载的版本。

编辑:这也适用于macOS Mojave版本10.14.14。


0
投票

安装maven的步骤:

  1. http://maven.apache.org/download.cgi下载maven文件
  2. $它的Apache-Maven-3.5.4-Bin
  3. 将apache文件夹复制到所需位置$ cp -R apache-maven-3.5.4 / Users / locals
  4. 转到apache目录$ cd /Users/locals/apache-maven-3.5.4/
  5. 创建.bash_profile $ vim~ / .bash_profile
  6. 写下这两个命令:export M2_HOME = / Users / manisha / apache-maven-3.5.4 export PATH = $ PATH:$ M2_HOME / bin 7保存并退出vim:wq!
  7. 重启终端并输入mvn -version
© www.soinside.com 2019 - 2024. All rights reserved.