mac下同時安裝jdk1.7和jdk1.8


 1.安裝jdk1.7時會彈出報錯,說版本不兼容。

 

 

解決方案

  1. 雙擊安裝包,使安裝包掛在到機器上,即在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  

  

  1. 將打開的文件內容替換,找到pm_install_check方法,修改為以下就行。
function pm_install_check() {
  return true;
}

 

  1. 重新打包
  $ pkgutil --flatten /tmp/jdk.unpkg /tmp/jdk.pkg 
  1. 開始重新安裝包(新的包)
 $ 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,然后使用jdk7jdk8jdk9來切換當前系統的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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM