JDK问题--linux下java unrecognized class file version错误的解决
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错误的解决的更多相关文章
- linux下java unrecognized class file version错误的解决
root@Mr javaPC]# java HelloWorldException in thread “main” java.lang.ClassFormatError: HelloWorld (u ...
- Java java jdk在Linux下安装与环境变量的配置
java jdk在Linux下安装与环境变量的配置 by:授客 QQ:1033553122 linux环境:CentOS-6.0-x86_64-bin-DVD1.iso [root@localhost ...
- Linux下java/bin目录下的命令集合
Linux下JAVA命令(1.7.0_79) 命令 详解 参数列表 示例 重要程度 资料 appletviewer Java applet 浏览器.appletviewer 命令可在脱离万维网浏览器环 ...
- linux下Java环境的配置
linux下Java环境的配置 现在用linux的朋友越来越多了,前几天就有两个朋友问我linux下怎么配置java环境,我想还有很多朋友想了解学习这方面的东西,就写一个完全一点的linux java ...
- Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令
Linux下java nohup 后台运行关闭后进程停止的原因,不挂断后台运行命令 今天写sh脚本发现一终止命令程序就停止运行了,检查了很久才发现后面少了个&字符导致的!错误写法:nohup ...
- linux下java调用C
linux下java调用C 分类: linux2012-05-22 09:12 1529人阅读 评论(0) 收藏 举报 javalinuxmakefilegccclasscommand 下面是在ubu ...
- Linux下java进程CPU占用率高分析方法
Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源 ...
- linux下java调用.so文件的方法1: JNI
摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...
- Linux下Java性能监控
Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun. ...
随机推荐
- js 实现图片压缩并转换成base64(data:image/jpeg;base64)格式
<!DOCTYPE html> <html> <head> <!--by 0o晓月メ http://www.cnblogs.com/final-elysion ...
- Java通过Axis2发布WebService
参考文档: http://blog.csdn.net/ghsau/article/details/12714965 http://www.iteye.com/topic/1135747 http:// ...
- 浅析CQRS的应用部署
CQRS,中文翻译命令和查询职责分离,它是一种架构,不仅可以从数据库层面实现读写分离,在代码层面上也是推荐读写分离的.在接口上可以更为简单 命令端定义 ICommandResult Execute(I ...
- Unity-Shader-光照模型之漫反射
[旧博客转移 - 2016年4月3日 23:27] 前面的话: 在现实生活中,我们看见能看见的东西都是光反射出来的颜色,如果反射光太弱,或者没有进入你的视角范围,你看到的就是黑色的. 在游戏中光分为几 ...
- 小解系列-解决WebUploader在谷歌浏览器下弹出框打开慢,在Bootstrap模态框内部多次点击才能触发的问题
WebUploader百度前端团队开源的上传组件,用起来感觉真心不错的,标题的两个问题是我实际使用过程中遇到的问题,经过百度和谷歌查到解决方案, 特分享一下,以供遇到此问题的童靴. 谷歌浏览器弹出框打 ...
- Java系列 - 用Java8新特性进行Java开发太爽了
本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome/ 前言 从开始写博客到现在已经过去3个 ...
- vue的增删改查
我们把这些用户信息保存到list的数组中,然后增删改查就在这个数组上进行: list: [ { username: 'aaaaa', email: '123@qq.com', sex: '男', pr ...
- 【.net 深呼吸】监听剪贴板更新(针对Vista之后系统)
针对 XP 及以前的监视剪贴板更改的方法就不讲了,因为 XP 已严重过时.本篇老周介绍的方法面向 Vista 以上的系统. 在托管应用程序中监听剪贴板更新行为必须用到 Win 32 API ,具体做法 ...
- JS - 实现简单易用的倒计时 x 天 x 时 x 分 x 秒
<script> (function () { var tian = document.getElementsByClassName('JS-tian')[0]; var shi = do ...
- python函数(1):初始函数
在学了前面很多python的基础类型后,我们终于可以进入下一阶段,今天我们将走进一个函数的新世界. 预习: 1.写函数,计算传入字符串中[数字].[字母].[空格] 以及 [其他]的个数 2.写函数, ...