☰
mac安装jdk和maven
2026/9/29 2:11:04 网站建设 项目流程

官网下载地址

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

先解压 jdk-11.0.16.1_macos-x64_bin.tar.gz

cd

ls -a

vim ~/.bash_profile

如果是.gz用这种方式

JAVA_HOME=/Users/xxx/Downloads/jdk/jdk-11.0.16.1.jdk/Contents/Home CLASSPAHT=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. PATH=$JAVA_HOME/bin:$PATH:. export JAVA_HOME export CLASSPATH export PATH

如果是.dmg用这种方式

查看所有已安装 JDK(含版本和路径)

/usr/libexec/java_home -V
# JDK 多版本配置 Mac get_java_home() { local ver="$1" if /usr/libexec/java_home -V 2>&1 | grep -qE "\b${ver//./\\.}\b"; then /usr/libexec/java_home -v "$ver" else echo "" fi } export JAVA_8_HOME="$(get_java_home 1.8)" export JAVA_11_HOME="$(get_java_home 11)" export JAVA_21_HOME="$(get_java_home 21)" # 底层静默切换,不输出日志 _set_java_silent() { local target_home="$1" if [[ -z "$target_home" || ! -d "${target_home}/bin" ]]; then return 1 fi PATH=$(echo "$PATH" | tr ':' '\n' | grep -v JavaVirtualMachines | sed '/^$/d' | tr '\n' ':') PATH=${PATH%:} export JAVA_HOME="$target_home" export PATH="${JAVA_HOME}/bin:$PATH" } # 手动切换用,带打印提示 set_java_path() { local target_home="$1" if _set_java_silent "$target_home"; then echo "✅ 当前Java:$(java -version 2>&1 | head -1)" else echo "❌ 无效JAVA_HOME: $target_home" return 1 fi } # ========== 重点:初始化默认JDK,调用静默函数,不打印 ========== if [[ -n "$JAVA_11_HOME" && -d "${JAVA_11_HOME}/bin" ]]; then _set_java_silent "$JAVA_11_HOME" fi # 切换别名(手动敲 jdk8/jdk11/jdk21 才会输出✅) alias jdk8='if [[ -n "$JAVA_8_HOME" && -d "${JAVA_8_HOME}/bin" ]]; then set_java_path "$JAVA_8_HOME"; else echo "❌ JDK8未找到"; fi' alias jdk11='if [[ -n "$JAVA_11_HOME" && -d "${JAVA_11_HOME}/bin" ]]; then set_java_path "$JAVA_11_HOME"; else echo "❌ JDK11未找到"; fi' alias jdk21='if [[ -n "$JAVA_21_HOME" && -d "${JAVA_21_HOME}/bin" ]]; then set_java_path "$JAVA_21_HOME"; else echo "❌ JDK21未找到"; fi' alias jdk-status='echo "JAVA_8_HOME=|$JAVA_8_HOME|";echo "JAVA_11_HOME=|$JAVA_11_HOME|";echo "JAVA_21_HOME=|$JAVA_21_HOME|";java -version' # Maven export MAVEN_HOME=/Users/wangfengchen/Downloads/maven/apache-maven-3.9.16 export PATH=$PATH:$MAVEN_HOME/bin export PATH="/Users/wangfengchen/.git-ai/bin:$PATH"

source ~/.bash_profile

javac

java

我们定义了2个别名:jdk8和jdk11。默认配置的是jdk8,如果要切换jdk11,则在终端中执行命令:jdk11。如果要切换回jdk8,则执行命令:jdk8。

如果想确定当前配置的是哪个版本,可以执行命令:java -version进行查看。

maven下载地址

https://maven.apache.org/download.cgi

解压maven

将配置放在上面.bash_profile中

export MAVEN_HOME=/Users/xxx/Downloads/maven/apache-maven-3.8.6 export PATH=$PATH:$MAVEN_HOME/bin

特别注意:

新打开终端,再敲mvn -v,发现又报:zsh: command not found: mvn。重新敲source ~/.bash_profile后,恢复正常。

这就让我很奇怪,为什么新打开一个终端后,就必须要重新source呢?

原因:
翻阅资料后发现,zsh的配置文件没有加载~/.bash_profile的配置项

解决:
执行如下命令:

vim ~/.zshrc

在文件末尾追加如下内容(如没有该文件则直接创建,并追加如下内容保存即可)

source ~/.bash_profile

如果你的maven环境变量配置在/etc/profile中则添加这句

source /etc/profile

然后执行命令使配置立即生效

source ~/.zshrc

之后再打开新终端窗口,直接mvn -v就可以了!

总结:
由于mac系统的升级,新的环境变量读取方式走zsh的就会存在以上问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询