Linux sudo和root 的jdk版本不一致. 统一JDK

有时候 root 用户安装的是jdk1.8, sudo 权限是系统默认的open jdk1.7。

导致在某些软件使用的sudo权限运行会使用1.7的jdk, 所以出现JDK8编译的由JDK运行出错的情况

解决方案:
    1.先查看sudo权限下的jdk
        # sudo rpm -qa | grep java
         tzdata-java-2016c-1.el6.noarch
         java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
         java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64
    2.删除默认jdk
       #  sudo rpm -e —nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64
       #  sudo rpm -e —nodeps java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64    
 
   3.将root安装的jdk设置成系统默认的jdk
       # sudo update-alternatives --install "/usr/bin/java" "java" "/etc/jdk1.8.0_131/jre/bin/java” 1
 
   参数说明: sudo update-alternatives —install
    usage: alternatives --install <link> <name> <path> <priority>
    (看man手册表示很无语)
    <link> 个人理解为将jdk链接到一个公共的目录
    <name> 表示命令链接符号名称
    <path> 引入可替代方案的主要链接
    <priority> 优先级
 
参考链接:http://www.wikihow.com/Install-Oracle-Java-on-Ubuntu-Linux"
 
posted @ 2017-09-27 15:11  kennylua  阅读(1293)  评论(0)    收藏  举报