Ubuntu下多版本JDK切换

前端之家收集整理的这篇文章主要介绍了Ubuntu下多版本JDK切换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
origin: http://blog.csdn.net/lincyang/article/details/42024565

Android L之后推荐使用JDK7编译程序,这是自然发展规律,就像是4年前编译Android 1.6需要使用JDK5一样。

多版本JDK是可以共存的,只需要使用update-alternatives工具就可以随时将它们切换。下面描述安装openjdk和Oracle jdk(对不住了sun)以及切换版本的过程。

一、安装openjdk7

[plain] view plain copy @L_301_5@
  1. $sudoapt-getupdate
  2. $sudoapt-getinstallopenjdk-7-jdk
安装完成后找到其安装路径:
[plain] view plain copy @L_301_5@
  1. $dpkg-Lopenjdk-7-jdk
  2. /.
  3. /usr
  4. /usr/lib
  5. /usr/lib/jvm
  6. /usr/lib/jvm/java-7-openjdk-amd64
  7. $ls/usr/lib/jvm/java-7-openjdk-amd64/
  8. ASSEMBLY_EXCEPTIONbindocsincludejrelibmansrc.zipTHIRD_PARTY_README

二、切换java版本

[plain] view plain copy @L_301_5@
  1. $sudoupdate-alternatives--configjava
  2. Thereare2choicesforthealternativejava(providing/usr/bin/java).
  3. SelectionPathPriorityStatus
  4. ------------------------------------------------------------
  5. *0/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java1061automode
  6. 1/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java1061manualmode
  7. 2/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java1051manualmode
  8. Pressentertokeepthecurrentchoice[*],ortypeselectionnumber:2
  9. update-alternatives:using/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javatoprovide/usr/bin/java(java)inmanualmode.
  10. $java-version
  11. javaversion"1.7.0_65"
  12. OpenJDKRuntimeEnvironment(IcedTea2.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的一个实用工具)。
[plain] view plain copy @L_301_5@
  1. $sudoupdate-alternatives--install/usr/bin/javajava/opt/jdk/jdk1.7.0_71/bin/java700
  2. $sudoupdate-alternatives--install/usr/bin/javacjavac/opt/jdk/jdk1.7.0_71/bin/javac700
  3. $sudoupdate-alternatives--install/usr/bin/jarjar/opt/jdk/jdk1.7.0_71/bin/jar700
700是优先级数值,我这里随便使用了一个数。
查看一下我们的config:
[plain] view plain copy @L_301_5@
  1. $sudoupdate-alternatives--configjava
  2. Thereare3choicesforthealternativejava(providing/usr/bin/java).
  3. SelectionPathPriorityStatus
  4. ------------------------------------------------------------
  5. 0/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java1061automode
  6. 1/opt/jdk/jdk1.7.0_71/bin/java700manualmode
  7. 2/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java1061manualmode
  8. *3/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java1051manualmode
  9. Pressentertokeepthecurrentchoice[*],ortypeselectionnumber:1
  10. update-alternatives:using/opt/jdk/jdk1.7.0_71/bin/javatoprovide/usr/bin/java(java)inmanualmode

验证是否切换成功:

[plain] view plain copy @L_301_5@
  1. $java-version
  2. javaversion"1.7.0_71"
  3. Java(TM)SERuntimeEnvironment(build1.7.0_71-b14)
  4. JavaHotSpot(TM)64-BitServerVM(build24.71-b01,mixedmode)
同样的,当我们需要切换到低版本时选择2或者安装oracle jdk6并将其纳入管理。这样就可以不用通过手动修改环境的方式来灵活切换JDK的版本了。

猜你在找的Ubuntu相关文章