【macOS系统】配maven报zsh: command not found: mvn,解决不了???,看这篇文章就够了

前言

刚入门用框架写项目,一堆配置云里雾里地按照网上的资料的ctrl+c 和 ctrl+v 一顿操作。哦豁!一顿操作结果跟别人不一样。搞了几个小时都不好,要自闭了  ಥ_ಥ ᖗ  ,放弃手动安装的同学,也可以用别的大佬的方法,用homebrew自动安装。

这里仅分享一下mac系统手动配置的一些细节。

     相信大家看了很多文章基本是如下步骤:

# 修改环境变量配置文件
vim .bash_profile

# 添加如下内容到配置文件中,这里的MAVEN_HOME 替换为自己的目录
export MAVEN_HOME=/Users/kugle/Desktop/Program/maven/apache-maven-3.9.6
export PATH=$MAVEN_HOME/bin:$PATH:.

# 配置文件立即生效
source .bash_profile

    这个方式是没有错的,但是你要结合你已有的配置来配,不然会一直报:zsh: command not found: mvn。

   下面介绍我配置时候的详细步骤,以及必要的说明

步骤一修改配置文件:

    对于不熟悉vim命令的同学,可以用访达进入自己用户的目录敲 快捷键( Command + .)来显示隐藏文件然后双击配置文件编辑,vim方式就不赘述了,会用的大佬都懂。

   把下面两串鸡肠复制进去   (๑•̀ㅁ•́๑)✧

export MAVEN_HOME=/Users/kugle/Desktop/Program/maven/apache-maven-3.9.6
export PATH=$MAVEN_HOME/bin:$PATH:.


步骤二令环境变量生效:

    本来以为配置完后,source .bash_profile,就完事了,不出意外的话就会出意外  (;一_一)

   

    因为我的MacBook默认shell工具是 zsh,所以你source那玩意儿跟他不适配,不过zsh跟bash也是可以兼容的。

   所以我们要在用户目录(跟.bash_profile放同一个位置)下找到这个 .zshrc 文件,没有这个文件的可以自行创建一个。

    把下面这行命令加在 .zshrc 文件的最后,那么他就会在你每次打开终端的时候帮你把  .bash_profile 的内容识别出来。

source ~/.bash_profile

踩坑:

   我一开始以为我将zsh转成bash就可以了,但是最后还是不行(这里有原因的),搞出了另外一个坑,连最基本的查看目录命令(ls -l)都用不了,当你转换成bash后系统也会提示如下信息:

The default interactive shell is now zsh.

To update your account to use zsh, please run `chsh -s /bin/zsh`.

For more details, please visit https://support.apple.com/kb/HT208050.

    如果你也出现了这个情况可以看下面这个大佬的文章进行恢复:

MacOS下出现-bash: 命令: command not found的解决_-bash: -o: command not found-CSDN博客文章浏览阅读4.1k次,点赞5次,收藏2次。Mac瞎搞一通,之后所有的命令都报-bash: 命令名: command not found这样的错误。解决方式打开控制台先输入如下命令,配置临时变量路径:export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin然后输入sudo vim .bash_profile命令,查看文件内容:接着在文件中添加export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin: ,如下:ESC+:_-bash: -o: command not foundhttps://blog.csdn.net/weixin_38106322/article/details/109487759


步骤三找到原因:

    上面的步骤我都按部就班地做好后,看到Java是能够配出来的,maven还是不行,真的要泄了

( ° ͜ʖ͡°)╭∩╮

以下是我最开始的配置信息:

最后抱着尝试的心态询问文心一言,它给我的答复:

您的配置信息中包含了对JAVA_HOMEPATHCLASSPATH以及MAVEN_HOME的设置。不过,在您提供的配置中,有一处需要修改以确保Maven可以正确添加到PATH

问题在于,您在设置MAVEN_HOME之后,又一次设置了PATH变量,这实际上覆盖了您之前将Maven添加到PATH的操作。为了解决这个问题,您应该将Maven的路径添加到最后的PATH设置中,而不是单独设置一次PATH

以下是修改后的配置:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home  
  
# 设置PATH时,确保Maven的路径也被包含在内  
PATH="$JAVA_HOME/bin:$PATH"  
  
CLASSPATH="$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:."  
  
# JetBrains相关的配置保持不变  
___MY_VMOPTIONS_SHELL_FILE="${HOME}/.jetbrains.vmoptions.sh"  
if [ -f "${___MY_VMOPTIONS_SHELL_FILE}" ]; then  
    . "${___MY_VMOPTIONS_SHELL_FILE}"  
fi  
  
# 导出JAVA_HOME、PATH和CLASSPATH  
export JAVA_HOME  
export PATH  
export CLASSPATH  
  
# 设置MAVEN_HOME  
MAVEN_HOME=/Users/kugle/Program/maven/apache-maven-3.9.6  
  
# 将Maven的路径添加到PATH中,而不是重新设置PATH  
export PATH="$MAVEN_HOME/bin:$PATH"  
  
# 其他的系统路径保持不变,可以添加到PATH的末尾  
export PATH="$PATH:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin"

请注意,PATH变量中的路径应该是用冒号(:)分隔的,而且在Unix和macOS系统中,路径是区分大小写的。另外,通常不需要在PATH中添加当前目录(.),因为这可能带来安全风险。如果确实需要,可以在需要的时候临时添加。

在修改完配置文件后,请记得执行source ~/.zshrc(或者对应的配置文件,如~/.bash_profile~/.bashrc等)来使配置生效,或者重新打开一个新的终端窗口。之后,您应该能够在终端中直接使用mvn命令了。

  最后我按照它的提示修改,就成了!!!(๑•̀ㅁ•́๑)✧

写在最后:

这次倒腾令我深刻反思到,除了纯粹地复制粘贴之外。我们还需要结合自己的环境信息去修改增添我们自己的内容,所以每一张截图都是尽可能展现详细的信息给大家,去比对自己的配置内容看是否有偏差。

感谢您看到最后,希望对你有帮助~

  • 13
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值