mac下配置maven失败

本文记录了在Mac上安装Maven 3.3.3后遇到的UnsupportedClassVersionError错误,并详细描述了如何通过正确配置JAVA_HOME环境变量来解决该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:http://www.mamicode.com/info-detail-943587.html

今天装好了了Maven3.3.3后,死活运行不了

CvdeMacBook-Pro:~ chenwei$ mvn
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

这个错误明显是运行的jdk版本低于编译的jdk版本,但是本地的jdk已经装成1.8了,maven3.3.3只需要1.7而已

CvdeMacBook-Pro:~ chenwei$ java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

配置了JAVA_HOME依然没用(`/usr/libexec/java_home`意思是执行``中的内容替换,/usr/libexec/java_home是mac推荐的设置方式)

CvdeMacBook-Pro:apache-maven-3.3.3 chenwei$ cat ~/.bash_profile

# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
M3_HOME="/Users/chenwei/Developers/Maven/apache-maven-3.3.3"
JAVA_HOME="`/usr/libexec/java_home`"
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
PATH="$JAVA_HOME/bin:$M3_HOME/bin:$PATH"

export PATH

然后我查看mvn里面找JAVA_HOME的方式

bash-3.2$ vi `which mvn`

在里面找到加载方式

          #
           # Look for the Apple JDKs first to preserve the existing behaviour, and then look
           # for the new JDKs provided by Oracle.
           #
           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
             #
             # Apple JDKs
             #
             export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
           fi

           if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
             #
             # Apple JDKs
             #
             export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
           fi

           if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
             #
             # Oracle JDKs
             #
             export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
           fi

           if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
             #
             # Apple JDKs
             #
             export JAVA_HOME=`/usr/libexec/java_home`
           fi

我想我已经配置过JAVA_HOME了不可能有问题啊

调试看看

bash-3.2$ sh -x mvn
+ [ -z ‘‘ ]
+ [ -f /etc/mavenrc ]
+ [ -f /Users/chenwei/.mavenrc ]
+ cygwin=false
+ darwin=false
+ mingw=false
+ case "`uname`" in
++ uname
+ darwin=true
+ [ -z ‘‘ ]
+ [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ]
+ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
+ JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

这里发现没有找到JAVA_HOME,于是设置成jdk1.6了

由于我坚信我设置了~/.bash.profile 的JAVA_HOME.

echo $JAVA_HOME是有值的

然后看到mvn开头设置的#!/bin/sh,怀疑是sh找不到JAVA_HOME

试了一下

bash-3.2$ sh
sh-3.2$ echo $JAVA_HOME

sh-3.2$

果然如此,于是开始研究怎么设置sh的环境变量,把/etc/profile中的JAVA_HOME也按.bash_profile的方式设置了一遍

还是没用

然后开始研究shell的环境变量加载,看到erport的作用时,我终于反应过来,我设置了JAVA_HOME,但是没有export,只export了PATH.

于是修改.bash_profile

sh-3.2$ vi ~/.bash_profile
# Setting PATH for Python 3.4
# The orginal version is saved in .bash_profile.pysave
M3_HOME="/Users/chenwei/Developers/Maven/apache-maven-3.3.3"
JAVA_HOME="`/usr/libexec/java_home`"
PATH="/Library/Frameworks/Python.framework/Versions/3.4/bin:${PATH}"
PATH="$JAVA_HOME/bin:$M3_HOME/bin:$PATH"
export JAVA_HOME
export M3_HOME
export PATH

source一下,然后再运行mvn,终于搞定了

CvdeMacBook-Pro:~ chenwei$ mvn -v
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home: /Users/chenwei/Developers/Maven/apache-maven-3.3.3
Java version: 1.8.0_51, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.4", arch: "x86_64", family: "mac"

这种低级错误,都是因为不熟悉linux导致的,简直笨得哭出来

<think>好的,我需要帮助用户在Mac配置IntelliJ IDEA以使用Maven。首先,我得回顾用户提供的引用内容,确保信息准确。根据引用[1]、[2]、[3]、[4],步骤大致包括下载安装Maven配置环境变量、设置镜像、IDE中的MavenJDK配置,以及可能的Tomcat配置。 首先,下载和安装Maven。用户需要到官网下载,解压到指定目录,比如/usr/local/maven。这一步比较基础,但需要确认路径正确。 接下来是环境变量配置。用户需要编辑.bash_profile或.zshrc,添加MAVEN_HOME和PATH变量。这里要注意终端使用的shell类型,不同shell配置文件不同,否则用户可能遇到环境变量不生效的问题。 然后是配置镜像,比如阿里云的镜像,这能加快依赖下载速度。用户需要修改Maven的settings.xml文件,添加mirror配置。引用[3]中的代码片段正好可以用在这里,确保语法正确。 接下来是IntelliJ IDEA的配置。根据引用[2],用户需要在Other Settings里设置全局的JDKMaven路径。这里要分步骤说明,先设置JDK,再配置Maven的本地仓库和设置文件位置。可能用户容易忽略应用(Apply)按钮,需要提醒每一步后都要点击应用。 另外,引用[4]提到添加依赖,比如mybatis-generator,这可能属于项目配置部分,但用户的问题主要是环境配置,所以可能不需要深入,但可以作为相关问题提到。 用户可能需要验证配置是否成功,比如在终端运行mvn -v,或者在IDEA中创建Maven项目看是否正常。这部分需要加入,确保用户能确认配置正确。 最后,生成相关问题。根据引用中的内容,可能的问题包括镜像配置作用、环境变量不生效、创建项目失败的原因,以及如何添加依赖。需要确保问题相关且有帮助。 检查是否需要分步骤,结构是否清晰。使用中文,避免术语错误,并正确应用LaTeX格式,比如变量名用$...$,但根据用户提供的示例,似乎数学表达式才需要,这里可能用不上。不过如果有任何命令或路径,可能需要用代码块或引号标注。 总结步骤: 1. 下载安装Maven 2. 配置环境变量 3. 配置镜像 4. IDEA中配置MavenJDK 5. 验证配置 确保每一步都参考了正确的引用,并在适当位置添加引用标识。比如配置镜像时引用[3],配置IDEA时引用[2]和[1]。 可能遇到的问题:用户环境变量配置错误,IDEA版本不同导致设置路径不同,镜像配置格式错误。需要在注意事项中提到这些,帮助用户排查。 现在按照这个思路组织回答,确保结构清晰,步骤明确,引用正确,最后生成相关问题。</think>### Mac系统IntelliJ IDEA配置Maven教程 #### 一、下载和安装Maven 1. 访问[Maven官网](https://maven.apache.org/download.cgi)下载二进制压缩包(例如:`apache-maven-3.8.6-bin.tar.gz`)。 2. 解压到指定目录,例如: ```bash tar -zxvf apache-maven-3.8.6-bin.tar.gz -C /usr/local/ ``` 3. 重命名目录(可选): ```bash mv /usr/local/apache-maven-3.8.6 /usr/local/maven ``` #### 二、配置环境变量 1. 打开终端,编辑Shell配置文件(根据使用的Shell类型选择): - Bash:`vim ~/.bash_profile` - Zsh:`vim ~/.zshrc` 2. 添加以下内容: ```bash export MAVEN_HOME=/usr/local/maven export PATH=$PATH:$MAVEN_HOME/bin ``` 3. 使配置生效: ```bash source ~/.bash_profile # 或 source ~/.zshrc ``` 4. 验证安装: ```bash mvn -v # 显示版本信息即成功 ``` #### 三、配置镜像加速依赖下载 1. 打开Maven配置文件: ```bash vim $MAVEN_HOME/conf/settings.xml ``` 2. 在`<mirrors>`标签内添加阿里云镜像[^3]: ```xml <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> ``` #### 四、IntelliJ IDEA配置 1. **设置全局JDK**(需提前安装JDK)[^2]: - 打开IDEA,进入 `File -> New Projects Setup -> Structure for New Projects...` - 选择 `SDKs`,添加JDK路径(例如:`/Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home`)。 2. **配置Maven**: - 进入 `File -> New Projects Setup -> Preferences for New Projects...` - 搜索 `Maven`,设置以下参数: - `Maven home path`: `/usr/local/maven` - `User settings file`: `$MAVEN_HOME/conf/settings.xml` - `Local repository`: 自定义本地仓库路径(可选,默认在`~/.m2/repository`)。 #### 五、验证配置 1. 创建新Maven项目: - 选择 `File -> New -> Project`,选择 `Maven`,勾选 `Create from archetype`(例如:`maven-archetype-quickstart`)。 2. 等待依赖下载完成,若未报错且项目结构正常,则配置成功。 #### 注意事项 - 若终端执行`mvn`命令提示未找到,请检查环境变量路径是否正确[^1]。 - 镜像配置后仍下载缓慢,需确认XML语法无错误[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值