如何更改 Linux 上的默认 Java 版本
Question: When I am trying to run a Java program on Linux, I am getting the following error. Looks like the Java program is compiled for a different Java version than the default Java program installed on my Linux. How can I switch the default Java version on Linux?
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/linux教程/hmon/gui/NetConf : Unsupported major.minor version 51.0
当编译 Java 程序时,构建环境会设置一个目标,它是程序可以支持的最旧的 JRE 版本。如果您在不满足最低JRE版本要求的Linux系统上运行Java程序,则在启动程序时会遇到以下错误。
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/linux教程/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
命令检查 Linux 系统上可用的 Java 版本:
$ sudo update-alternatives --display java

在此示例中,安装了四个不同的 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 版本更新该变量。