linux下java unrecognized class file version错误的解决

环境:RedHat Linux Enterprise 5.4

问题:java.sun.com下载jdk1.60和jre1.60的bin文件,sh ./某某某.bin安装之后,编译HelloWorld.java,生成HelloWorld.class文件,但是java HelloWorld却不能执行。

出现如下错误:

[root@MrjavaPC]# javac HelloWorld.java

[root@MrjavaPC]# ls HelloWorld.class HelloWorld.java 计算器.java 计算器.java~

[root@MrjavaPC]# java HelloWorld Exception in thread “main” java.lang.ClassFormatError: HelloWorld (unrecognized class file version)

at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)

at java.lang.ClassLoader.defineClass(libgcj.so.7rh)

at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)

at java.net.URLClassLoader.findClass(libgcj.so.7rh)

at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh) at java.lang.ClassLoader.loadClass(libgcj.so.7rh)

at java.lang.ClassLoader.loadClass(libgcj.so.7rh)

at gnu.java.lang.MainThread.run(libgcj.so.7rh)

[root@MrjavaPC]#

初步解决方法和分析:  在执行的时候打入完整路径。

如下:

[root@MrjavaPC]# /usr/java/jre1.6.0/bin/java HelloWorld

Hello World!

[root@MrjavaPC]#

可见,PATH出了点小问题。  其实查一下java版本就晓得问题出在哪里了。

[root@MrjavaPC]# java -version

java version “1.4.2″ gij (GNU libgcj) version 4.1.1 20061011 (Red Hat 4.1.1-30)

Copyright (C) 2006 Free Software Foundation, Inc.

This is free software;

see the source for copying conditions. There is NO warranty;

not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR

PURPOSE.

[root@MrjavaPC]#

这个异常一般是因为你用的JRE/JDK的版本和代码编译时候不一致造成的,一般是jre的版本太低了。

这里,version是”1.4.2“,而咱们装的是1.6.0,所以有 (unrecognized class file version)一说。

解决的方法一:

在执行的时候打入完整路径。如下:[root@MrjavaPC]# /usr/java/jre1.6.0/bin/java HelloWorld

Hello World!

解决的方法二:

在linux根路径下找到.bash_profile文件,在文件中加入以下内容: export JAVA_HOME=/usr/jdk1.6.0_14 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib/rt.jar

我安装好jdk1.6.0后,配好了环境变量,可是输入java -version的时候还是显示jdk1.4.2,不知道怎么不更新。

由于我环境中安装了was是自带jdk的,这个低版本的就是来自那儿。

查看我path下面的路径,没有看到was的jdk路径,可是java -version时总是低版本的。

解决办法:

把 path 环境变量中 %JAVA_HOME%/bin 的这一项移到最前面去!

因为你可能装了其他带有 JDK 的软件,比如 Oralce 9i 就有个 JDK 1.3,而且会很无耻地加到 PATH 的最前面的,你只要把你装的 JDK PATH 放到最前面去就可以了,而且这样也不会影响 Oracle 9i 的使用。

转载于:https://www.cnblogs.com/jackhub/p/3252328.html

JDK问题--linux下java unrecognized class file version错误的解决相关推荐

  1. linux下Found a swap file by the name解决

    转自:linux下Found a swap file by the name解决 vim编辑文件时提示 Found a swap file by the name -- .swp文件是在vi编辑文件时 ...

  2. Linux下执行程序出现Text file busy错误提示时的解决方案

    Linux下执行程序出现Text file busy错误提示时的解决方案   Linux Text file busy(文本文件忙),发生此错误是因为当前文件已被占用,因此只要找出占用该文件的进程并杀 ...

  3. Linux下执行程序出现 Text file busy 时的解决办法。

    这是因为有与文件有关的进程正在运行,把这个进程关闭就可以了.方法如下: 使用 ps | grep ×××× 命令查看程序文件被哪个进程占用,然后用 kill 命令杀死该进程,即解决问题. PS在 Li ...

  4. Linux下JAVA WEB服务器的搭建一(JDK\MYSQL\TOMCAT)

    转自:Linux下JAVA WEB服务器的搭建一(JDK\MYSQL\TOMCAT),更优阅读体验http://www.kongzid.com/ 目录 1.JDK1.8的安装配置 1.1 环境检查 1 ...

  5. Linux下java/bin目录下的命令集合

    Linux下JAVA命令(1.7.0_79) 命令 详解 参数列表 示例 重要程度 资料 appletviewer Java applet 浏览器.appletviewer 命令可在脱离万维网浏览器环 ...

  6. Linux下Java开发环境的搭建Tomcat6+jdk6+eclipse3.5.2+Myeclipse9.0+mysql5.1.47

    Tomcat6+jdk6+eclipse3.5.2+Myeclipse9.0+mysql5.1.47 1.JDK的安装:usr/java/jdk1.6.0_25 下载:jdk-6u25-linux-i ...

  7. Linux java集成安装环境,Linux下Java环境安装

    本节主要讲解Linux(Centos 6.5)下Java环境的安装 1. 卸载机器上默认安装的JDK 在Linux环境下一般会默认安装jdk,为了自己项目的开发部署,一般情况要重新装jdk,而且自己装 ...

  8. linux下Java环境的配置

    linux下Java环境的配置 一. 下载jdk5.0 for linux 到sun的主页 [url]http://java.sun.com/j2se/1.5.0/download.jsp[/url] ...

  9. linux下java程序乱码,解决linux下java程序(例如applet)中文乱码问题

    解决linux下java程序(例如applet)中文乱码问题 平台:Mandriva 2006.0 将Windows下的字体文件simsun.ttc拷贝到/usr/share/fonts/zh_CN, ...

  10. java 本地 mq_windows、linux下java连接本地MQ队列实现输入(二)

    windows.linux下java连接本地MQ队列实现输入(二),上一篇文章环境为windows,这一篇将说一下linux环境下java连接本地队列实现输入输出,其实大同小异,但是八戒在这里有很多心 ...

最新文章

  1. 前端每日实战:100# 视频演示如何用纯 CSS 创作闪闪发光的霓虹灯文字
  2. 微信小程token_微信小程序url与token设置详解
  3. windows 找不到本地配置文件用临时配置文件让您登录
  4. 第4章 批处理中的变量
  5. vue 2.0 使用 Font Awesome
  6. BZOJ1812: [Ioi2005]riv(树形dp)
  7. Altium_Protel99SE的使用
  8. matlab中S函数的概念及使用
  9. Android仿网易头条评论,仿网易/今日头条滑动视图
  10. java设计模式笔记
  11. mininet-ovs转发行为与流表不对应
  12. PROE二次开发(protoolkit):把PRT或者ASM模型转换成STEP,PS,IGES,CATIA等等格式
  13. 手机流媒体服务器架设指南
  14. 电脑显示器不亮的三种原因和解决方法
  15. 计算机夏令营英语怎么说,夏令营用英语怎么说?
  16. 学生信息管理系统测试总报告
  17. TP6(thinkphp6)队列与延时队列
  18. MongoDB副本集概述,副本集是什么?有什么用?
  19. 在Linux系统下XAMPP安装与配置(可离线安装)
  20. 【电源专题】案例:用电子负载模拟电池测试充电芯片

热门文章

  1. 2018-2019-1 20165212 《信息安全系统设计基础》第八周学习总结(pwd)
  2. 混合编程:VS2017 C++调用Python3.X类/对象/函数笔记【Windows】
  3. v8:: fatalProcessOutOfMemory
  4. 浅谈Rsync+Inotify实时同步
  5. 点击某些按钮不要触发验证控件
  6. 复利计算1.0-2.0-3.0
  7. mac git 拉代码太慢或是拉不下来,可能是这个原因
  8. 如何检查Windows网络通信端口占用
  9. 20175320 2018-2019-2 《Java程序设计》第8周学习总结
  10. 页面之间传输大量数据