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

当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版本更新变量。

linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本相关推荐

  1. linux修改u盘卷标,如何在Linux下格式化U盘以及修改卷标

    1.格式化U盘 第一步:在没有播放U盘时使用fdisk查看哪些设备 如: # fdisk -l Disk /dev/sda: 128.8 GB, 128849018880 bytes 255 head ...

  2. ultraedit运行java_如何在UltraEdit中编译和运行Java程序

    如何在UltraEdit中编译和运行Java程序 (2011-07-28 12:33:52) 标签: it 问题提出: 可以毫不夸张地说,JDK+UltraEdit是面向Java初学者的开发工具的绝配 ...

  3. ) php中_如何在webmin中配置多个PHP版本

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 如何在webmin中配置多个PHP版本?本教程将会给您 ...

  4. cmd中加载java源文件_如何在cmd中编译和运行java源文件

    如何在cmd中编译和运行java源文件 首先写一个名为HelloWorld.java的java源文件,存储在如C:/java/src的地址,我们再假设待会要存储的位置是C:/java/bin,则我们做 ...

  5. angular和react_如何在Angular中验证默认和自定义React形式

    angular和react by Luuk Gruijs Luuk Gruijs着 如何在Angular中验证默认和自定义React形式 (How to validate default and cu ...

  6. Lightroom Classic 教程:如何在 Lightroom 中改变场景颜色?

    欢迎观看 Lightroom Classic 教程,小编带大家学习 Lightroom Classic 的基本工具和使用技巧,了解如何在 Lightroom 中改变场景颜色.使用 Lightroom ...

  7. java: 在相应的 try 语句主体中不能抛出异常错误java.io.IOException

    java: 在相应的 try 语句主体中不能抛出异常错误java.io.IOException 参考文章: (1)java: 在相应的 try 语句主体中不能抛出异常错误java.io.IOExcep ...

  8. 如何在 Flutter 中禁用默认的 Widget 飞溅效果

    如何在 Flutter 中禁用默认的 Widget 飞溅效果 默认情况下,许多 Flutter Material Design 小部件在被选中时会显示飞溅效果. 这适用于IconButton,InkW ...

  9. 如何在并行安装中更改默认的SOLIDWORKS版本?| SOLIDWORKS教程

    如果您的计算机上现已安装了多个版本的 SOLIDWORKS ,可能会遇见每次打开 SOLIDWORKS 文件时都是错误版本的情况,这将直接影响我们的效率.在本文中,您将了解到如何在并行安装中更改默认的 ...

最新文章

  1. CocoStudio 0.2.4.0 UI编辑器下根Panel控件设置背景图片时一个BUG
  2. android 字体竖直居中_问下弹性盒内不知道高度的时候想让字体垂直居中代码要怎么写...
  3. Windows下C++将各种资源文件引入exe文件(即无需携带很多res资源包)
  4. BZOJ 2226 [Spoj 5971] LCMSum 最大公约数之和 | 数论
  5. 港股打新之卖出策略(暗盘和首日)
  6. Source does not fit in dest
  7. guid会重复么_饿了么请你考虑一下消费者
  8. Javascript 笔记(2)----闭包
  9. cartographer探秘第四章之代码解析(三) --- scan match
  10. 获得数据库连接池中数据连接资源的两种方式
  11. eXtremeComponents简单应用
  12. Ubuntu16.04编译Android源码系列一——7.1.2和4.4及踩坑
  13. 计算机音乐谱策马奔腾,策马奔腾简谱
  14. 《The Zen of Python, Explained》Posted by Al Sweigart in python - 中译版
  15. 简单编写图书管理系统
  16. selenium打开浏览器后闪退解决
  17. C语言实现LZW编码
  18. yolov5增加一层小目标检测层
  19. 跨平台应用 Qt 对决 HTML5
  20. 网易视频云谈视频云的根基:云计算的介绍

热门文章

  1. RuntimeError: Expected object of backend CUDA but got backend CPU for argument
  2. 存在量词后必须用合取式?-数学
  3. 自监督学习(Self-Supervised Learning)多篇论文解读(上)
  4. 端口号被占用怎么解决
  5. EventBus的粘性事件原理
  6. 深入理解Nginx工作原理
  7. Android Intent的 Component 使用
  8. ConstraintLayout 实现水平方向 权重 效果
  9. Android studio 文件包名连在一起的处理方法
  10. centeos7安装mariadb