ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

mac安装jdk和maven

mac安装jdk和maven 官网下载地址https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html先解压 jdk-11.0.16.1_macos-x64_bin.tar.gzcdls -avim ~/.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 21 | 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 21 | 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 jdk8if [[ -n $JAVA_8_HOME -d ${JAVA_8_HOME}/bin ]]; then set_java_path $JAVA_8_HOME; else echo ❌ JDK8未找到; fi alias jdk11if [[ -n $JAVA_11_HOME -d ${JAVA_11_HOME}/bin ]]; then set_java_path $JAVA_11_HOME; else echo ❌ JDK11未找到; fi alias jdk21if [[ -n $JAVA_21_HOME -d ${JAVA_21_HOME}/bin ]]; then set_java_path $JAVA_21_HOME; else echo ❌ JDK21未找到; fi alias jdk-statusecho 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:$PATHsource ~/.bash_profilejavacjava我们定义了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的就会存在以上问题。
返回列表