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

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

Exceptioninthread "main"java.lang.UnsupportedClassVersionError:com/xmodulo/hmon/gui/NetConf:Unsupportedmajor.minor version 51.0

比如,程序在Java JRE 1.7下编译,但是系统只有Java JRE 1.6。

cf10a8e7a65fc1622240af31c4164596.png

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

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

$ sudoupdate-alternatives --display java

9725ca0555892b37b15085c0c0650d4b.png

本例中,总共安装了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版本:

$ sudoupdate-alternatives --config java

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

51d8bb70122eeb1f061902edc4670c69.png

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

$ java -version

da1b6c2d116d025b1a0c5563f6724d8c.png

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

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

GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐