1.安裝jdk1.7時會彈出報錯,說版本不兼容。
解決方案
-
雙擊安裝包,使安裝包掛在到機器上,即在Finder里可以看到一個名字為JDK 7 Update 60的Device。
在terminal下輸入以下命令,命令中的路徑可能不同
$ pkgutil --expand /Volumes/JDK\ 7\ Update\ 60/JDK\ 7\ Update\ 60.pkg /tmp/jdk.unpkg $ cd /tmp/jdk.unpkg $ vim Distribution
- 將打開的文件內容替換,找到
pm_install_check
方法,修改為以下就行。
function pm_install_check() { return true; }
- 重新打包
$ pkgutil --flatten /tmp/jdk.unpkg /tmp/jdk.pkg
- 開始重新安裝包(新的包)
$ open /tmp/jdk.pkg
- 1
注意:原始掛在到機器上的安裝包,一定得先關了才可以。
2)
配置
安裝完成之后,調出terminal命令行工具,檢驗安裝是否成功:
$ java -version java version "9" Java(TM) SE Runtime Environment (build 9+181) Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
那如何進行版本切換呢?先看當前生效的JDK路徑:
$ which java
/usr/bin/java $ cd /usr/bin $ ls -l …… lrwxr-xr-x 1 root wheel 74 Oct 21 18:10 java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java lrwxr-xr-x 1 root wheel 75 Oct 21 18:10 javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac lrwxr-xr-x 1 root wheel 77 Oct 21 18:10 javadoc -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javadoc ……
可以發現這個java只是一個當前系統生效的JDK的一個軟連接,Java安裝的是實際位置位於
/Library/Java/JavaVirtualMachines
使用如下的命令可以指定當前系統使用哪個版本的JDK:
$ /usr/libexec/java_home -v 版本號
編輯bash_profile
文件,添加如下內容(注意:JDK9不是 -v 1.9):
$ vi ~/.bash_profile export JAVA_7_HOME="$(/usr/libexec/java_home -v 1.7)" export JAVA_8_HOME="$(/usr/libexec/java_home -v 1.8)" export JAVA_9_HOME="$(/usr/libexec/java_home -v 9)" alias jdk7='export JAVA_HOME=$JAVA_7_HOME' alias jdk8='export JAVA_HOME=$JAVA_8_HOME' alias jdk9='export JAVA_HOME=$JAVA_9_HOME' # 默認使用JDK8 export JAVA_HOME=$JAVA_8_HOME $ source ~/.bash_profile
版本切換
如上配置之后,默認使用JDK1.8,然后使用jdk7
、jdk8
或jdk9
來切換當前系統的JDK版本:
$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
# 切換到JDK1.8,使用如下命令 $ jdk8 $ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
# 切換到JDK9 $ jdk9 $ java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
其他
linux環境下JDK配置備份如下:
$ sudo vi ~/.bashrc export JAVA_HOME=/my/java/home/jdk180 export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH $ source ~/.bashrc
windows環境下JDK配置如下:
JAVA_HOME=/my/java/home/jdk180 CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%PATH%
參考:http://adolphor.com/blog/2016/12/24/install-multiple-jdk-to-macos.html
https://blog.csdn.net/zw235345721/article/details/78702254