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函数脚本文件或可运行程序的名称。