eag*_*arn 29 macos bash terminal maven
在将此标记为重复之前,我查看了这些帖子,但没有任何帮助. "mvn"未被识别为内部或外部命令, 找不到-bash:mvn:命令,无法从命令行访问mvn命令?
有些是特定的窗口,没有帮助.他们中的一些人在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环境变量,例如导出M2 = $ M2_HOME/bin.可选:添加MAVEN_OPTS环境变量以指定JVM属性,例如export MAVEN_OPTS =" - Xms256m -Xmx512m".此环境变量可用于为Maven提供额外选项.将M2环境变量添加到路径中,例如export PATH = $ M2:$ PATH.确保将JAVA_HOME设置为JDK的位置,例如导出JAVA_HOME =/usr/java/jdk1.5.0_02,并且$ JAVA_HOME/bin位于PATH环境变量中.运行mvn --version以验证它是否已正确安装.
我看到terminal
我用于安装,它工作正常.我没有这个问题.但是当我尝试新的时候terminal
,我得到了command not found
.
我也加入export PATH=$M2
了我.bashrc
,我做了source
然后重新启动终端,仍然没有帮助.
有人可以建议如何在终端的所有会话中提供它吗?
谢谢
bra*_*orm 53
如果这些可能有用,请尝试以下操作
由于您的安装适用于您安装的终端,所以exports
您所做的一切都在工作current bash and its child process
.但并没有产生新的terminals
.
env
如果会话结束,变量将丢失; 使用.bash_profile
,您可以在所有会话中使用它,因为当bash
会话开始时,它会"运行"它.bashrc and .bash_profile
现在请按照以下步骤查看是否有帮助:
键入env | grep M2_HOME
正在工作的终端.这应该给出类似的东西
M2_HOME =的/ usr /本地/ Apache-行家/ Apache的行家-3.1.1
打字env | grep JAVA_HOME
应该这样:
JAVA_HOME = /图书馆/的Java/JavaVirtualMachines/jdk1.7.0_40.jdk /内容/首页
现在你有了PATH for M2_HOME
和JAVA_HOME
.
如果你这样做ls /usr/local/apache-maven/apache-maven-3.1.1/bin
,你会mvn
在那里看到二进制文件.您现在要做的就是每次使用PATH指向此位置.既然bash
在所提到的所有目录路径中搜索PATH
,它都会找到mvn
.
现在打开.bash_profile
,如果你没有一个只是创建一个
vi~/.bash_profile
添加以下内容:
#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
Run Code Online (Sandbox Code Playgroud)
保存文件和类型source ~/.bash_profile
.这个步骤执行.bash_profile
文件中的命令,你现在很高兴.
打开一个新的终端和类型mvn
应该工作.
Adi*_*wal 19
可能的解决办法是你的mac系统中没有安装maven。使用此命令安装maven:
brew install maven
Run Code Online (Sandbox Code Playgroud)
并且,要验证它是否已成功安装,请运行以下命令:
mvn -v
Run Code Online (Sandbox Code Playgroud)
如果它返回您的 maven 版本,则说明 maven 已成功安装在您的系统中。
lim*_*ver 10
我是在macOS Sierra版本10.12.6上执行此操作的。上面的解决方案很好,但是它们需要〜/ .bash_profile。/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
Run Code Online (Sandbox Code Playgroud)
注意: apache maven的版本将是您要下载的版本。
编辑:这也适用于macOS Mojave版本10.14.14。
这对我有用.
首先,我检查了M2_HOME变量是否已设置env | grep M2_HOME
.我什么都没有.
我知道我已经在文件夹"/usr/local/apache-maven-3.2.2"中安装了Maven,因此执行以下3个步骤解决了我的问题:
M2_HOME=/usr/local/apache-maven-3.2.2
M2=$M2_HOME/bin
export PATH=$M2:$PATH
如上所述,.bash_profile
如果您希望自动执行该序列,则可以将该序列保存在文件中.
我遇到了同样的问题,我尝试了以上所有方法,但没有解决我的问题。幸运的是,我通过这种方式解决了这个问题:
echo $SHELL
Run Code Online (Sandbox Code Playgroud)
输出
/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.
Run Code Online (Sandbox Code Playgroud)