1、下载安装

下载地址: https://maven.apache.org/download.cgi

下载后解压下来重名名为ApacheMaven,并放入到/usr/local/下

2、配置环境变量

打开终端,输入命令:

vi ~/.bash_profile 

如果没有该文件,就输入命令touch ~/.bash_profile ,再输入上面的命令。

打开.bash_profile之后,按下i键,使其进入编辑状态。然后输入下面命令来配置环境变量(下面的M,你可以自己命名):

export M="/usr/local/ApacheMaven"
export PATH="$M/bin:$PATH"

按下esc,退出编辑状态,输入:wq,退出文件。

在终端执行生效命令:

source ~/.bash_profile

然后执行命令:

mvn -v

如果正常显示maven的版本等信息,如下图,表示配置成功。如果没有,检查路径是否正确,或者版本号名称等。

二.Mac zsh: command not found:mvn

zsh 下找不到 mvn 命令
如果已经配置了maven,但是每次在终端执行 mvn 命令的时候,都必须要执行下 source ~/.bash_profile 才能生效。

这是因为当 Mac 上安装了 zsh 后,.bash_profile 文件的配置无法生效。解决方案是:

vi ~/.zshrc

在文件的末尾添加下面的命令:

source ~/.bash_profile

这样,当 zsh 启动的时候,会读取 .bash_profile 文件的内容并使之生效。

zsh下配置maven环境变量
Mac上有3处可以设置环境变量:

/etc/profile :系统全局变量,系统启动即加载该文件的配置(不建议添加)
/etc/bashrc:所有类型的bash shell 都会读取该文件的配置
~/.bash_profile:配置用户级环境变量,在系统用户文件夹下创建,当用户登录时,该文件会被执行且仅执行一次
下面是我的 .bash_profile 文件的内容:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH=${PATH}:/usr/local/mysql/bin

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:/usr/local/maven/apache-maven-3.5.0/bin

export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-7.0.77
export PATH=$PATH:/CATALINA_HOME/bin

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

路径的结尾一定不要加上/

配置完成后,查看一下是否已经添加:

系统的ls等命令提示找不到
在配置的过程中,可能会出现 ls,vi 等基础命令不可用的情况,可以执行下面的命令:

PATH=/bin:/usr/bin:/usr/local/bin:${PATH}
export PATH

exec /bin/zsh

exec /usr/bin/zsh

参考:https://www.jiloc.com/43492.html
————————————————

原文链接:https://blog.csdn.net/u010473656/article/details/88847282

 
 

Mac安装和配置Maven 及其第二次启动报错问题解决的更多相关文章

  1. maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet

    主要原因是maven项目里面的jar包吗,没有导入到项目中 maven web 项目中启动报错 Java.lang.ClassNotFoundException: org.springframewor ...

  2. maven项目使用tomcat启动报错:Server Tomcat v8.5 Server at localhost failed to start

    背景说明:1)该项目为maven项目,使用的maven的本地仓库里有不少之前使用过下载的jar包: 2)从svn下载该项目后,无报错情况: 3)部署到tomcat启动报错 如下 : 4)在网上搜索了很 ...

  3. 进击的java - tomcat的安装,配置都正确之后,还是报错

    1.问题 配置Apatch Tomcat过程报错: The CATALINA_HOME environment variable is not defined correctly.This envir ...

  4. maven web 项目中启动报错java.lang.ClassNotFoundException: org.springframework.web.util.Log4jConfigListener

    环境:Groovy/Grails Tool Suite 3.1.0.RELEASE(BASED ON ECLIPSE JUNO 3.8.1).JDK1.6.Maven3.05.Tomcat6 错误描述 ...

  5. 利用Maven管理工程项目本地启动报错及解决方案

    目前利用Maven工具来构建自己的项目已比较常见.今天主要不是介绍Maven工具,而是当你本地启动这样的服务时,如果遇到报错,该如何解决?下面只是参考的解决方案,具体的解法还是得看log的信息. 1. ...

  6. Eclipse导入Maven项目,使用server 启动报错,class 找不到,

    问题发现: 1.导入maven 项目后,用server 启动,选择项中没有这个项目 解决: 说明server 没有把该项目当成web项目,需要设置 项目右键 properties  ---- proj ...

  7. idea maven cannot resolve symbol http报错问题解决

    学习SpringMVC的过程中,在idea中使用maven管理依赖.在class中使用 javax.servlet.http.HttpServletRequest的时候,报错:cannot resol ...

  8. 初次安装hive-2.1.0启动报错问题解决方法

    首次安装hive-2.1.0,通过bin/hive登录hive shell命令行,报错如下: [hadoop@db03 hive-2.1.0]$ bin/hive which: no hbase in ...

  9. maven项目在eclipse启动报错:java.lang.ClassNotFoundException

    问题: 用eclipse创建maven项目的时候,pom.xml中相关的依赖jar已经导入进去,还会报java.lang.ClassNotFoundException的错误,提示找不到相关的jar包, ...

随机推荐

  1. JAVA8学习——从使用角度深入Stream流(学习过程)

    Stream 流 初识Stream流 简单认识一下Stream:Stream类中的官方介绍: /** * A sequence of elements supporting sequential an ...

  2. transient关键字有何作用

    使用对象流保存对象时,将对象的全部信息都保存了,但是有些信息是不希望保存,如密码,该如何避免该信息的保存? 使用transient关键字修饰的属性,在保存对象时,该属性并不会被保存. transien ...

  3. 深入剖析CVE-2021-40444-Cabless利用链

    背景 CVE-2021-40444为微软MHTML远程命令执行漏洞,攻击者可通过传播Microsoft Office文档,诱导目标点击文档从而在目标机器上执行任意代码.该漏洞最初的利用思路是使用下载c ...

  4. JAVA只要掌握内部类,多继承和单继承都不是问题

    摘要:如果实现java的多继承,其实很简单,关键是对于内部类的特征的掌握,内部类可以继承一个与外部类无关的类,保证了内部类天然独立性,根据这个特性从而实现一个类可以继承多个类的效果. 本文分享自华为云 ...

  5. tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:56281 npm ERR! network This is most likely not a problem with npm itself npm ERR! network and is related to network

    tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:56281npm ERR! networ ...

  6. syntax error: unexpected end of file完美解决方案

    用shell编写的一个脚本,执行的时候报错:syntax error: unexpected end of file! 发生这种报错有两种原因: 第一种: 如果你是用 windows 系统编写的脚本, ...

  7. Leaflet:Map类属性及方法

    1.初始化 L.map(<String> id , options ?) //用地图div的id创建 L.map(<HTMLElement>el , options?) //用 ...

  8. (第一章第四部分)TensorFlow框架之张量

    系列博客链接: (一)TensorFlow框架介绍:https://www.cnblogs.com/kongweisi/p/11038395.html (二)TensorFlow框架之图与Tensor ...

  9. 写下载的时候,axios的responseType: "blob"(一定要修改)

    download(data, fileName) {       // window.URL.createObjectURL创建一个地址.       const url = window.URL.c ...

  10. 联邦学习:按混合分布划分Non-IID样本

    我们在博文<联邦学习:按病态独立同分布划分Non-IID样本>中学习了联邦学习开山论文[1]中按照病态独立同分布(Pathological Non-IID)划分样本. 在上一篇博文< ...