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 的使用。

JDK问题--linux下java unrecognized class file version错误的解决的更多相关文章

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

    root@Mr javaPC]# java HelloWorldException in thread “main” java.lang.ClassFormatError: HelloWorld (u ...

  2. Java java jdk在Linux下安装与环境变量的配置

    java jdk在Linux下安装与环境变量的配置 by:授客 QQ:1033553122 linux环境:CentOS-6.0-x86_64-bin-DVD1.iso [root@localhost ...

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

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

  4. linux下Java环境的配置

    linux下Java环境的配置 现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java ...

  5. Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令

    Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令 今天写sh脚本发现一终止命令程序就停止运行了,检查了很久才发现后面少了个&字符导致的!错误写法:nohup ...

  6. linux下java调用C

    linux下java调用C 分类: linux2012-05-22 09:12 1529人阅读 评论(0) 收藏 举报 javalinuxmakefilegccclasscommand 下面是在ubu ...

  7. Linux下java进程CPU占用率高分析方法

    Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...

  8. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

  9. Linux下Java性能监控

    Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...

随机推荐

  1. Spring MVC 项目搭建 -2- 添加service ,dao,junit

    Spring MVC 项目搭建 -2- 添加service ,dao,junit 1.dao public class Hero { private String name; public Strin ...

  2. Javascript之学习笔记每日更新

    1.输出文本 document.write(Date());输出当前时间 2.使用Jacascript改变HTML元素 //定义一个p标签,此p标签带有id元素 <p id="demo ...

  3. Linux程序设计之shell程序设计

    看了<linux程序设计(第4版)>(作者:Neil Matthew ,Richard Stones ,陈建 ,宋健建译).做个笔记,以备后面查看. 首先,清楚几个概念. shell编程属 ...

  4. POJ 3398 Perfect Service(树型动态规划,最小支配集)

    POJ 3398 Perfect Service(树型动态规划,最小支配集) Description A network is composed of N computers connected by ...

  5. 玩玩微信公众号Java版之准备

    微信自2013年流行起来,现在的发展已经超过了我们的想象,那么对应的公众平台,小程序等都是让人眼前一亮的东西,这里来学习一下微信工作号的对接,实现为Java,希望大家一起学习!   这里大概描述一下所 ...

  6. 如何开始使用bootstrap

    登陆Bootstrap官网:http://getbootstrap.com/ Bootstrap中的JS插件依赖于jQuery,因此jQuery要在Bootstrap之前引用 bootstrap框架初 ...

  7. 【微信小程序开发教程】如何显示群名称?

    今年 5 月份的时候,微信宣布:「为了更好的针对群场景提供个性化服务,当用户在群聊中点击小程序分享卡片时,小程序支持开发者获取群 ID 和群名称」.但随后没多久,发现小程序只返回了群 ID,并没有给我 ...

  8. 基于android的语音质量评估

    最近研究如何通过android评估通话质量,希望获取的参数有:(1)接通时长 (2)掉话次数 (3)语音是否清晰,以下将给出接通时长和掉话次数的详细定义: 接通时长:通话一方开始拨号到另一方开始振铃的 ...

  9. xshell常用命令

    常用的命令: suse linux 常用命令 (1) 命令ls--列出文件 ls 显示当前目录文件 ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的"隐藏"文件 ...

  10. 存储结构比较vector,list,dequeue,stack(转)

        vector适用:对象数量变化少,简单对象,随机访问元素频繁list适用:对象数量变化大,对象复杂,插入和删除频繁最大的区别是,list是双向的,而vector是单向的.因此在实际使用时,如何 ...