2014-01-09 59 views
22

在将其标记为重复之前,我检查了这些帖子,但没有任何帮助。 'mvn' is not recognized as an internal or external command,Getting -bash: mvn: command not found,Can't access mvn command from command line?在OSX中找不到mvn命令Mavrerick

有些特定于windows,并没有帮助。他们中的一些人在Mac OS X上提出了一些建议,我尝试了但没有帮助。

我想什么(这正是Maven建议):

提取分发归档文件,即Apache的行家-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的位置,例如, export JAVA_HOME =/usr/java/jdk1.5.0_02 并且$ JAVA_HOME/bin位于PATH环境变量中。运行mvn - 版本以验证它是否正确安装。

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

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

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

感谢

+0

如果你在osx小牛队,我相信'mvn'已经被'mvn3'取代。 –

+0

@ChristianF:是的,我在小牛队,但我尝试过'mvn3',但仍然没有找到'命令'。问题是它与用于安装的终端一致(在按照maven指出的上述步骤之后),但不是跨终端 – eagertoLearn

+0

继续尝试向.bash_profile添加路径,然后运行命令:“source .bash_profile”(不带“)来刷新它或者打开一个新的终端 – tshenolo

回答

42

尝试以下这些,如果这些可能帮助:

由于您的安装工程安装在终端上,所有的exports你没有,就current bash and its child process工作。但不会产生新的terminals

env如果会话关闭,变量将丢失;使用.bash_profile,你可以把它在所有会话中可用,bash会议开始时,因为,它是运行“的.bashrc and .bash_profile

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

  1. env | grep M2_HOME上正在工作的终端。这应该给类似

    M2_HOME =/usr/local/apache-maven/apache-maven-3.1。1

  2. 打字env | grep JAVA_HOME应该给这样的:

    JAVA_HOME = /图书馆/的Java/JavaVirtualMachines/jdk1.7.0_40.jdk /内容/首页

现在你有M2_HOME的PATH和JAVA_HOME

如果你只是做ls /usr/local/apache-maven/apache-maven-3.1.1/bin,你会在那里看到mvn二进制。 现在你所要做的就是每次使用PATH指向这个位置。由于bashPATH中提到的所有目录路径中搜索,因此它会找到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应该工作。

+0

哇!这工作。虽然我的'M2_HOME'路径是不同的 – eagertoLearn

+1

谢谢你,我在浪费了2个小时,试图在升级到优胜美地10.10.1后找出这个问题。这个工作! –

+0

你在哪里创建了.bash_profile? – RicardoGonzales

8

这是我的工作。

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

我知道我必须装在文件夹“/usr/local/apache-maven-3.2.2” Maven的,所以执行以下3个步骤,解决了我的问题:

  1. 设置M2_HOME环境变量

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

  • 集M2环境变量
  • M2=$M2_HOME/bin

  • 更新路径
  • export PATH=$M2:$PATH

    如前所述上面可以保存在.bash_profile文件序列,如果你希望它被自动执行。

    +2

    当一个新的终端打开时,这将再次被删除 –

    +0

    是的,你是对的@AnujBalan,但如何解决它 – triffic