Ubuntu下多版本JDK切換
阿新 • • 發佈:2019-01-30
origin: http://blog.csdn.net/lincyang/article/details/42024565
OpenJDK shows intermittent performance and UI issues. We recommend using the Oracle JRE/JDK.
看來還是要安裝Oracle的JDK了,因為ubuntu軟體源中沒有此JDK,所以不能像安裝openjdk一樣使用apt-get工具。
那麼我們還是要去官網下載jdk7。
按照以往的慣例,我將這些軟體放在/opt目錄下。將JDK解壓到新建目錄jdk下。
用update-alternatives工具來新增java可選配置項(這是一個dpkg的一個實用工具)。
檢視一下我們的config:
同樣的,當我們需要切換到低版本時選擇2或者安裝oracle jdk6並將其納入管理。這樣就可以不用通過手動修改環境的方式來靈活切換JDK的版本了。
Android L之後推薦使用JDK7編譯程式,這是自然發展規律,就像是4年前編譯Android 1.6需要使用JDK5一樣。
多版本JDK是可以共存的,只需要使用update-alternatives工具就可以隨時將它們切換。下面描述安裝openjdk和Oracle jdk(對不住了sun)以及切換版本的過程。
一、安裝openjdk7
- $ sudo apt-get update
- $ sudo apt-get install openjdk-7-jdk
- $ dpkg -L openjdk-7-jdk
- /.
- /usr
- /usr/lib
- /usr/lib/jvm
- /usr/lib/jvm/java-7-openjdk-amd64
- $ ls /usr/lib/jvm/java-7-openjdk-amd64/
- ASSEMBLY_EXCEPTION bin docs include jre lib man src.zip THIRD_PARTY_README
二、切換java版本
- $ sudo update-alternatives --config java
- There are 2 choices for the alternative java (providing /usr/bin/java).
- Selection Path Priority Status
- ------------------------------------------------------------
- * 0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
- 1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
- 2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
- Press enter to keep the current choice[*], or type selection number: 2
- update-alternatives: using /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode.
- $ java -version
- java version "1.7.0_65"
- OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.12.04.1)
三、安裝Oracle jdk
使用Android Studio做開發,啟動IDE就提示:OpenJDK shows intermittent performance and UI issues. We recommend using the Oracle JRE/JDK.
看來還是要安裝Oracle的JDK了,因為ubuntu軟體源中沒有此JDK,所以不能像安裝openjdk一樣使用apt-get工具。
那麼我們還是要去官網下載jdk7。
按照以往的慣例,我將這些軟體放在/opt目錄下。將JDK解壓到新建目錄jdk下。
用update-alternatives工具來新增java可選配置項(這是一個dpkg的一個實用工具)。
- $ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_71/bin/java 700
- $ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_71/bin/javac 700
- $ sudo update-alternatives --install /usr/bin/jar jar /opt/jdk/jdk1.7.0_71/bin/jar 700
檢視一下我們的config:
- $ sudo update-alternatives --config java
- There are 3 choices for the alternative java (providing /usr/bin/java).
- Selection Path Priority Status
- ------------------------------------------------------------
- 0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
- 1 /opt/jdk/jdk1.7.0_71/bin/java 700 manual mode
- 2 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
- * 3 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
- Press enter to keep the current choice[*], or type selection number: 1
- update-alternatives: using /opt/jdk/jdk1.7.0_71/bin/java to provide /usr/bin/java (java) in manual mode
驗證是否切換成功:
- $ java -version
- java version "1.7.0_71"
- Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
- Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
同樣的,當我們需要切換到低版本時選擇2或者安裝oracle jdk6並將其納入管理。這樣就可以不用通過手動修改環境的方式來靈活切換JDK的版本了。