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"

浙公网安备 33010602011771号