当前位置: 首页 > 知识库问答 >
问题:

在OSX Mavericks中找不到mvn命令

商振
2023-03-14

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

  • “mvn”不被识别为内部或外部命令,
  • 获取-bash:mvn:未找到命令,
  • 无法从命令行访问mvn命令

有些是针对windows的,没有帮助。他们中的一些人在Mac OS X上给出了建议,我试过了,但没有帮助。

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

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

我看到,在我用于安装的终端上,它工作得很好。我没有这个问题。但是当我试着使用一个新的终端时,我得到了一个未找到的命令。

我还向我的中添加了导出路径=$M2。bashrc,我做了源代码,然后重新启动了终端,仍然没有帮助。

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

谢谢


共有3个答案

诸嘉澍
2023-03-14

这是对我有用的。

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

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

  1. 设置M2\U HOME env变量

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

M2=M2$u家/箱

导出路径=$M2:$PATH

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

呼延高超
2023-03-14

上述解决方案很好,但需要~/。bash\u配置文件/usr/local/bin已经在$PATH中,可以通过执行echo$PATH来确认。下载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的版本。

曹疏珂
2023-03-14

如果这些可能有帮助,请尝试以下操作:

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

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

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

>

  • 在正在工作的终端上键入env|grepM2_HOME

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

    键入env|grepJAVA_HOME应该这样给出:

    JAVA_HOME=/库/Java /JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home

    现在您有了M2_HOMEJAVA_HOME的PATH。

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

    >

  • 现在打开。bash\u配置文件,如果没有,只需创建一个

    六、。bash\u配置文件

    添加以下内容:

    #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配置文件。该步骤执行<代码>中的命令。bash\u profile文件,现在就可以开始了。

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

  •  类似资料:
    • null 有些是特定于windows的,没有帮助。在Mac OS X上有几个用户给出了一些建议,我试过了,但没有帮助。 我尝试的(这正是建议的): 将分发文件(即apache-maven-3.1.1-bin.tar.gz)解压缩到您希望安装Maven 3.1.1的目录中。这些说明假设您选择了/usr/local/apache-maven。将从存档文件中创建子目录apache-maven-3.1.1

    • 我设置了以下系统可验证性(OS=Vista): 如果我运行mvn--version我得到: 有人知道为什么会这样吗?谢谢

    • 我按照本教程尝试在我的远程Centos服务器上安装maven http://www.unixmen.com/install-apache-ant-maven-tomcat-centos-76-5/

    • 问题内容: 嗨Jenkins和AWS Guru’s 我已经在网上寻找任何可能的解决方案,但没有解决我的问题。我只是在测试项目下的Jenkins执行外壳上发布了“ eb –version”,但在执行过程中却得到“ eb:命令未找到”。 奇怪的是,如果我通过CLI在Jenkins框上发出相同的命令,我会得到很好的响应。对修复有任何建议吗?提前致谢 问题答案: 您的Jenkins设置的路径与您登录时使用

    • 问题内容: 这个开始让我完全疯了… 我想使用Maven创建一个Glassfish客户端应用程序。 为此,我添加了必需的gf-client依赖项: 然后,想要联系运行在相同应用程序上的我的Glassfish服务器,我进行了常规查找: 不幸的是,这样做时,我得到的只是 经过一番检查后,我注意到该客户端应用程序的CLASSPATH中存在我的文件夹。并且,根据Eclipse代码查找,应该包含此jar 。但

    • 我有一个网络钩子齿轮为我的不和谐机器人。我想让embarss命令(在webhook cog中)触发一个webhook,创建时使用用户名和pfp,这很好。然而,我也希望这个命令能够被设置到一个特定的用户身上,这就是问题所在。当我尝试将成员参数添加到embarrass函数中时,它看起来像:async def embarrass(self、ctx、member:discord.member),但不起作用