maven 在OSX Mavericks中找不到mvn命令

ddarikpa  于 2023-02-15  发布在  Maven
关注(0)|答案(9)|浏览(130)

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

有些是Windows特有的,没有帮助。Mac OS X上的几个给出了建议,我试过了,但没有帮助。
我尝试了什么(这正是Maven所建议的):
将发行版归档文件(即apache-maven-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环境变量,例如export M2=$M2_HOME/bin.可选:添加MAVEN_OPTS环境变量以指定JVM属性,例如export MAVEN_OPTS="-Xms 256 m-Xmx 512 m”。此环境变量可用于为Maven提供额外选项。将M2环境变量添加到路径中,例如export PATH=$M2:$PATH。确保将JAVA_HOME设置为JDK的位置,例如export JAVA_HOME=/usr/java/jdk1.5.0_02,并且$JAVA_HOME/bin位于PATH环境变量中。运行mvn --version以验证是否正确安装。
我看到在我用于安装的terminal上,它工作正常。我没有这个问题。但是当我尝试新的terminal时,我得到了command not found
我还添加了export PATH=$M2到我的.bashrc,我做了source,然后重新启动终端,仍然没有帮助。
有人能建议如何使它在终端的所有会话中可用吗?
谢谢

wpx232ag

wpx232ag1#

如果有帮助,请尝试以下操作:
由于您的安装在您安装的终端上工作,所以您所做的所有exports都在current bash and its child process上工作,但不会派生到新的terminals
如果会话关闭,则env变量丢失;使用.bash_profile,您可以使其在所有会话中可用,因为当bash会话启动时,它“运行”其.bashrc and .bash_profile
现在按照以下步骤操作,看看是否有帮助:
1.在正在工作的终端上键入env | grep M2_HOME
M2_主页=/usr/本地/Apache-maven/Apache-maven-3.1.1
1.键入env | grep JAVA_HOME应该会得到如下结果:
JAVA_HOME=/库/Java/Java虚拟机/jdk1.7.0_40.jdk/目录/主页
现在您已经有了M2_HOMEJAVA_HOME的路径。
如果你只执行ls /usr/local/apache-maven/apache-maven-3.1.1/bin,你会看到mvn二进制文件在那里。现在你所要做的就是每次使用PATH指向这个位置。因为bash搜索PATH中提到的所有目录路径,它会找到mvn
1.现在打开.bash_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

1.保存文件并键入source ~/.bash_profile。此步骤将执行.bash_profile文件中的命令,现在可以开始了。
1.打开一个新的终端并键入mvn,这样就可以工作了。

6ss1mwsb

6ss1mwsb2#

上述解决方案很好,但它们需要~/.bash_profile。/usr/local/bin已经在**$PATH**中,可以通过执行echo $PATH. Download 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的版本将是您要下载的版本。

rqqzpn5f

rqqzpn5f3#

以下是对我起作用的方法。
首先,我检查了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
1.设置M2环境变量
M2=$M2_HOME/bin
1.更新路径
export PATH=$M2:$PATH
如上所述,如果希望自动执行该序列,可以将其保存在.bash_profile文件中。

bwitn5fc

bwitn5fc4#

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

echo $SHELL

产出

/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.
jutyujz0

jutyujz05#

可能的解决方案是Mac系统中没有安装maven。使用以下命令安装maven:

brew install maven

要验证它是否已成功安装,请运行以下命令:

mvn -v

如果返回maven版本,则表明maven已成功安装到系统中。

neekobn8

neekobn86#

安装maven的步骤:
1.从http://maven.apache.org/download.cgi下载maven文件
1.$tar xvf apache-maven-3.5.4-bin.tar.gz
1.将apache文件夹复制到所需位置**$cp -R apache-maven-3.5.4 /用户/本地用户**
1.转到apache目录**$cd /用户/本地/apache-maven-3.5.4/**
1.创建.bash配置文件**$vim ~/.bash配置文件**
1.写入以下两个命令:导出M2_HOME=/用户/manisha/apache-maven-3.5.4导出路径=$路径:$M2_HOME/bin7保存并退出vim**:wq!**
1.重新启动终端并键入mvn -version

n3ipq98p

n3ipq98p7#

我遵循了brain storm的指示,但仍然没有得到不同的结果--任何新的终端窗口都不会识别mvn命令。我不知道为什么,但将声明分成更小的块.bash_profile起作用了。就我所知,我基本上在做他做过的事情。下面是我的.bash_profile中看起来不同的地方:

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
iyfjxgzm

iyfjxgzm8#

您可能有两种类型的shell示例。sh和zsh。两者都可以定义不同的路径。通过在终端中键入以下行来检查PATH环境变量
echo $PATH
要进行测试,您可以更改shell模式-
sh到zsh -〉键入zsh并在终端中按回车键(注意$更改为%)
zsh到sh -〉键入sh/bash并在终端中按回车键(注意%更改为$)
在两种shell模式下检查PATH环境。使两者相同,或根据需要附加其他模式下的路径。
在一个shell中运行而不在其他shell中运行的命令将被排序。

mwkjh3gx

mwkjh3gx9#

对于你们中的一些人来说,原因可能是在maven目录的路径中使用了其他变量。更多细节请参见answer

相关问题