Macos 在OSX Mavrerick中找不到mvn命令

Macos 在OSX Mavrerick中找不到mvn命令,macos,bash,maven,terminal,Macos,Bash,Maven,Terminal,在将此标记为副本之前,我浏览了这些帖子,但没有任何帮助 , 有些是针对windows的,没有帮助。MacOSX上的几个人给出了建议,我试过了,但没有帮助 我所尝试的(这正是Maven所建议的): 提取分发存档,即apache-maven-3.1.1-bin.tar.gz 到您希望安装Maven 3.1.1的目录。这些说明 假设您选择了/usr/local/apachemaven。子目录 apache-maven-3.1.1将从归档文件中创建。一声令下 终端,添加M2_HOME环境变量,例

在将此标记为副本之前,我浏览了这些帖子,但没有任何帮助

  • ,
有些是针对windows的,没有帮助。MacOSX上的几个人给出了建议,我试过了,但没有帮助

我所尝试的(这正是
Maven
所建议的):

提取分发存档,即apache-maven-3.1.1-bin.tar.gz 到您希望安装Maven 3.1.1的目录。这些说明 假设您选择了/usr/local/apachemaven。子目录 apache-maven-3.1.1将从归档文件中创建。一声令下 终端,添加M2_HOME环境变量,例如导出 M2_HOME=/usr/local/apachemaven/apache-maven-3.1.1。添加M2 环境变量,例如导出M2=$M2\U HOME/bin。可选:添加 MAVEN_选择环境变量来指定JVM属性,例如导出 MAVEN_OPTS=“-Xms256m-Xmx512m”。可以使用此环境变量 为Maven提供额外的选项。将M2环境变量添加到 路径,例如导出路径=$M2:$path。确保JAVA_HOME设置为 JDK的位置,例如export JAVA_HOME=/usr/JAVA/jdk1.5.0_02 $JAVA_HOME/bin位于PATH环境变量中。运行mvn --版本,以验证是否已正确安装

我在安装时使用的
终端上看到,它工作正常。我没有这个问题。但是当我在一个新的
终端上尝试时,我发现
命令找不到

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

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


谢谢

如果有帮助,请尝试以下方法:

由于您的安装工作在您安装的终端上,因此您所做的所有
导出工作都是在
当前bash及其子进程上进行的。但不会衍生到新的
终端

env
如果会话关闭,变量将丢失;使用
.bash\u配置文件
,您可以使其在所有会话中都可用,因为当
bash
会话启动时,它会“运行”其
.bashrc和.bash\u配置文件

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

  • 在正在工作的终端上键入
    env | grep M2_HOME
    。这应该会有类似的效果

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

  • 键入
    env | grep JAVA_HOME
    应给出如下内容:

    JAVA_HOME=/Library/JAVA/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/HOME

  • 现在您有了
    M2\u HOME
    JAVA\u HOME
    的路径

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

  • 现在打开
    .bash\u profile
    ,如果没有,就创建一个

    vi~/.bash_简介

  • 添加以下内容:

    #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
    
  • 保存文件并键入
    source~/.bash\u profile
    。此步骤执行
    .bash\u profile
    文件中的命令,现在就可以开始了

  • 打开一个新的终端,键入应该可以工作的
    mvn


  • 这是对我有用的东西

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

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

  • 设置M2_HOME环境变量
  • M2_HOME=/usr/local/apache-maven-3.2.2

  • 设置M2环境变量
  • M2=$M2\u HOME/bin

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


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

    上述解决方案很好,但它们需要~/.bash\u profile
    /usr/local/bin
    已在$PATH中,可以通过执行
    echo$PATH
    进行确认。并运行以下命令-

    $ 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版本。

    安装maven的步骤:

  • 从下载maven文件
  • $tar xvf apache-maven-3.5.4-bin.tar.gz
  • 将apache文件夹复制到所需位置$cp-R apache-maven-3.5.4/Users/locals
  • 转到apache目录$cd/Users/locals/apache-maven-3.5.4/
  • 创建.bash_配置文件$vim~/.bash_配置文件
  • 编写以下两个命令: 导出M2_HOME=/Users/manisha/apache-maven-3.5.4 导出路径=$PATH:$M2\u HOME/bin 7保存并退出vim:wq
  • 重新启动终端并键入mvn-版本

  • 我遵循brain storm的指示,仍然没有得到不同的结果——任何新的终端窗口都无法识别mvn命令。我不知道为什么,但是把声明分成更小的部分。bash_配置文件起作用了。据我所知,我基本上在做和他一样的事情。以下是我的.bash_配置文件中的不同之处:

    JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
    export PATH JAVA_HOME
    J2=$JAVA_HOME/bin
    export PATH J2
    M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1
    export PATH M2_HOME
    M2=$M2_HOME/bin
    export PATH M2
    

    我遇到了同样的问题,我尝试了以上所有方法,但都没有解决我的问题。幸运的是,我这样解决了这个问题:

    echo $SHELL
    
    输出


    如果你在osx mavericks上,我相信
    mvn
    已经被
    mvn3
    所取代@ChristianF:是的,我在mavericks上,但我尝试了
    mvn3
    ,但仍然没有找到
    命令。问题是它与用于安装的终端一起工作(在遵循maven指出的上述步骤之后),但不是跨终端继承的尝试将路径添加到.bash_配置文件,然后运行comm
    
    /bin/zsh
    OR 
    /bin/bash
    
    If it showing "bash" in output. You have to add env properties in .bashrc file (.bash_profile i did not tried, you can try) or else
    It is showing 'zsh' in output. You have to add env properties in .zshrc file, if not exist already you create one no issue.