TranslateProject/translated/tech/20151105 Linux FAQs with Answers--How to change default Java version on Linux.md
2015-11-07 14:32:53 +08:00

2.6 KiB
Raw Blame History

Linux又问必答-- 如何在Linux中改变默认的Java版本

提问当我尝试在Linux中运行一个Java程序时我遇到了一个错误。看上去像程序编译所使用的Javab版本与我本地的不同。我该如何在Linux上切换默认的Java版本

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/xmodulo/hmon/gui/NetConf : Unsupported major.minor version 51.0

当Java程序编译时编译环境会设置一个“target”变量来设置程序可以运行的最低Java版本。如果你Linux系统上运行的程序不满足最低的JRE版本要求那么你会在运行的时候遇到下面的错误。

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/xmodulo/hmon/gui/NetConf : Unsupported major.minor version 51.0

比如这种情况下程序在Java JRE 1.7下编译但是系统只有Java JRE 1.6。

要解决这个问题你需要改变默认的Java版本到Java JRE 1.7或者更高假设JRE已经安装了

首先试用下面的update-alternatives命令检查你系统上可用的Java版本

$ sudo update-alternatives --display java

本例中总共安装了4个不同的Java版本OpenJDK JRE 1.6、Oracle Java JRE 1.6、OpenJDK JRE 1.7 和 Oracle Java JRE 1.7。现在默认的Java版本是OpenJDK JRE 1.6。

如果没有安装需要的Java JRE,你可以参考这些指导来完成安装。

现在有可用的候选版本你可以用下面的命令在可用的Java JRE之间切换默认的Java版本

$ sudo update-alternatives --config java

看到提示的时候选择你想试用的Java版本。本例中我们选择Oracle Java JRE 1.7。

现在用下面的命令验证默认的Java版本。

$ java -version

最后如果你定义了JAVA_HOME环境变量根据你设置的Java版本更新变量。


via: http://ask.xmodulo.com/change-default-java-version-linux.html

作者:Dan Nanni 译者:geekpi 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出