OSX - 已安装 Maven:无法识别 mvn 命令

Posted

技术标签:

【中文标题】OSX - 已安装 Maven:无法识别 mvn 命令【英文标题】:OSX - Maven installed: mvn command not recognised 【发布时间】:2018-08-17 18:42:27 【问题描述】:

我已经尝试了一堆以前的解决方案(见下文),但我的环境一定有问题......

当尝试以下任何变体时:

mvn -v
mvn -version
mvn --version
mvn3 -version
mvn3 --version

全部生产~bash: mvn: command not found

确认我的PATH包含maven /bin/,JAVA_HOME包含jdk home,(甚至M3_HOME是maven dir,根据一个线程)如下:

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/.local/bin:/usr/local/javaPath:/Documents/MavenStuff/apache-maven-3.5.2/bin

$echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home

$echo $M3_HOME
/Documents/MavenStuff/apache-maven-3.5.2/

/apache-maven-3.5.2/ 目录包含未压缩的 maven 文件夹,直接来自网站:

apache-maven-3.5.2/ user1$ ls -l
total 64
-rw-r--r--@  1 user1  1373174850  20943 18 Oct 08:59 LICENSE
-rw-r--r--@  1 user1  1373174850    182 18 Oct 08:59 NOTICE
-rw-r--r--@  1 user1  1373174850   2544 18 Oct 08:55 README.txt
drwxr-xr-x@  8 user1  1373174850    272  9 Mar 00:21 bin
drwxr-xr-x@  3 user1  1373174850    102  9 Mar 00:21 boot
drwxr-xr-x@  5 user1  1373174850    170  9 Mar 00:21 conf
drwxr-xr-x@ 83 user1  1373174850   2822  9 Mar 00:21 lib

为什么 Maven 不能工作? :\

【问题讨论】:

删除 M3_HOME 并将 bin 路径仅保留在 PATH 变量中。你能在 apache-maven-3.5.2/bin 目录中显示一个ls -al 吗? 当然,完成。 imgur.com/a/MAoRt@khmarbaise 我在那个目录上写了ls -al,而不仅仅是文件..来自apache-maven-3.5.2目录的输出... imgur.com/a/kA6Se@khmarbaise 您的用户主目录中是否真的有一个从根位置或 ise 开始的文档目录?除此之外,您是否尝试过通过 /Documents/MavenStuff/apache-maven-3.5.2/bin/mvn --version 之类的绝对路径调用 mvn? 【参考方案1】:

这似乎归结为PATH 目录中的语法错误。

一旦我从PATH 的maven bin 目录前面删除了/,它就起作用了。所以,

旧的 $PATH:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/.local/bin:/usr/local/javaPath:/Documents/MavenStuff/apache-maven-3.5。 2个/箱

新的 $PATH:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/.local/bin:/usr/local/javaPath:Documents/MavenStuff/apache-maven-3.5.2 /bin

后者有效。请注意冒犯的/ 消失了。

编辑:以上内容确实有效,但仅来自主目录。以下适用于任何地方:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/.local/bin:/usr/local/javaPath:~/Documents/MavenStuff/apache-maven-3.5 .2/bin

【讨论】:

这意味着您在私有目录中安装了 maven。不确定这是个好主意...【参考方案2】:

看起来有点旧,但我在尝试在 OSX 上安装 mvn 时遇到了类似的问题。我通过使用自制软件解决了这个问题,在运行此命令后使用 brew install maven 安装 mvn,我可以像往常一样使用 mvn clean package

认为这可能有助于任何人以不同的方式安装 mvn,因为这种安装方法允许您使用 mvn 而无需明确声明其 PATH。

【讨论】:

以上是关于OSX - 已安装 Maven:无法识别 mvn 命令的主要内容,如果未能解决你的问题,请参考以下文章

Maven 在运行 mvn dependency:tree 时无法识别兄弟模块

Ubuntu14.04 maven每次打开终端均需执行source /etc/profile,否则无法使用mvn命令

新鲜的 python 3.7 / django 2.2.1 安装无法识别已安装 mysqlclient

centos6.7下安装mvn 安装elasticsearch下ik分词

idea中的终端terminal使用Maven报错 : mvn : 无法将“mvn”项识别为 cmdlet函数脚本文件或可运行程序的名称。

ubuntu搭建maven失败,而且很奇怪,即是直接到目录中执行mvn也不成功