• java 切换


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

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

    一、安装openjdk7

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ sudo apt-get update  
    2. $ sudo apt-get install openjdk-7-jdk  

    安装完成后找到其安装路径:

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ dpkg -L openjdk-7-jdk  
    2. /.  
    3. /usr  
    4. /usr/lib  
    5. /usr/lib/jvm  
    6. /usr/lib/jvm/java-7-openjdk-amd64  
    7.   
    8. $ ls /usr/lib/jvm/java-7-openjdk-amd64/  
    9. ASSEMBLY_EXCEPTION  bin  docs  include  jre  lib  man  src.zip  THIRD_PARTY_README  

    二、切换java版本

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ sudo update-alternatives --config java  
    2. There are 2 choices for the alternative java (providing /usr/bin/java).  
    3.   
    4.   Selection    Path                                            Priority   Status  
    5. ------------------------------------------------------------  
    6. * 0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode  
    7.   1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode  
    8.   2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode  
    9.   
    10. Press enter to keep the current choice[*], or type selection number: 2  
    11. update-alternatives: using /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode.  
    12.   
    13. $ java -version  
    14. java version "1.7.0_65"  
    15. 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的一个实用工具)。

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_71/bin/java 700  
    2. $ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_71/bin/javac 700  
    3. $ sudo update-alternatives --install /usr/bin/jar jar /opt/jdk/jdk1.7.0_71/bin/jar 700  

    700是优先级数值,我这里随便使用了一个数。
    查看一下我们的config:

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ sudo update-alternatives --config java  
    2. There are 3 choices for the alternative java (providing /usr/bin/java).  
    3.   
    4.   Selection    Path                                            Priority   Status  
    5. ------------------------------------------------------------  
    6.   0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode  
    7.   1            /opt/jdk/jdk1.7.0_71/bin/java                    700       manual mode  
    8.   2            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode  
    9. * 3            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode  
    10.   
    11. Press enter to keep the current choice[*], or type selection number: 1  
    12. update-alternatives: using /opt/jdk/jdk1.7.0_71/bin/java to provide /usr/bin/java (java) in manual mode  

    验证是否切换成功:

    [plain] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. $ java -version  
    2. java version "1.7.0_71"  
    3. Java(TM) SE Runtime Environment (build 1.7.0_71-b14)  
    4. Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)  


    同样的,当我们需要切换到低版本时选择2或者安装oracle jdk6并将其纳入管理。这样就可以不用通过手动修改环境的方式来灵活切换JDK的版本了。

  • 相关阅读:
    Netty NIO 框架性能压测-短链接-对比Tomcat
    Linux 下应用程序最大打开文件数的理解和修改
    kafka Failed to send messages after 3 tries 问题解决
    kafka集群搭建和使用Java写kafka生产者消费者
    如何设置jvm内存
    JVM最多能创建多少个线程:unabletocreatenewnativethread
    Eclipse 的快捷键以及文档注释、多行注释的快捷键
    react navtagion 头部有返回按钮 标题不居中解决方法
    java获取本机外网ip
    react navtagion api
  • 原文地址:https://www.cnblogs.com/oracleloyal/p/5653333.html
Copyright © 2020-2023  润新知