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

[email protected] javaPC]# 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)
[[email protected] javaPC]#

1.出现的原因:

这是由于版本不匹配造成的。因为当你输入:#java -version 时出现的信息是:

java 1.4.0,而你安装的是java1.6.0版本。

2.解决的方法一:
在执行的时候打入完整路径。如下:[[email protected] javaPC]# /usr/java/jre1.6.0/bin/java HelloWorld
Hello World!

3.解决的方法二:

在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

时间: 2024-10-12 17:51:50

linux下java unrecognized class file version错误的解决的相关文章

linux下java 和 javac version 不一致问题

centos下 我新安装了个jdk1.7的版本 ,vi profile 之后 java -version 是新版本,想在看看javac -version 发现还是1.6的 之前安装了1.6的 那好咱就卸载他 查找Java 版本信息 rpm -qa|grep java 返回如下信息 xorg-x11-drv-savage-2.1.1-5.fc6 avahi-glib-0.6.16-10.el5_6 java-1.6.0-openjdk-1.6.0.0-5.1.13.3.el5_10 avahi-c

14行脚本配置Linux下Java环境变量

对于Java初学者而言,可能在Java开发环境的配置上要花一番功夫,而在Linux下,配置Java的环境变量,这个功夫可能又会增加.为此,我编了一个bash脚本来实现自动配置Java的环境变量.你只需要将如下脚本和你下载的jdk压缩包放到一个文件夹下,执行该脚本,并依据提示输入一些信息即可. config_java.sh #!/bin/bash jdkpath=/usr/lib/java/ sudo mkdir $jdkpath read -p "Please input the name of

转载:Linux下执行SVN命令时提示错误:Valid UTF-8 data

在Linux下执行svn add *时出现如下错误: svn:  Valid UTF-8  data(hex: 4b)followed by invalid UTF-8 sequence(hex:  fc 63 68  65) 出现这个错误是因为svn库里有文件的名字不是utf-8编码的,这种情况对于中文来说很常见.比如在自己的windows上建了一个中文名字的文件,就会使这种情况. 几经周折,才找到解决办法: 首先,执行命令: ls * | file -/dev/stdin:  ISO-885

linux下转格式函数iconv段错误

今天将windows代码移植到Linux下,其中用到了Unicode转char的函数,被坑了一会,相关函数及编码格式,Linux与windows不同,有几点需要注意: 1.wchar_t 在Linux下占用4个字节,在windows下占2个字节: 2.Linux默认的文本编码方式是UTF-8:Linux终端汉字显示的设置方式:vi /etc/sysconfig/i18n: 设置LANG="en_US.UTF-8"或者LANG="zh_CN.UTF-8": 3.ico

linux下java环境变量的设置,形参个数可变的方法

首先我们执行jdk二进制文件: 生成一个jdk目录,将这个目录mv到/usr/loca/jdk # vim /etc/profile export JAVA_HOME=/usr/local/jdkexport CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PAT# vim Varargs.java #source /etc/profile 例子: #vim test.java 这个例子中test方法形参个数可变,在形参列表中,最后一个形参

Linux下Java性能监控

Linux下Java性能监控 一.JVM堆内存使用监控 获取thread dump的3种方法: 1)使用$JAVA_HOME/bin/jcosole中的MBean,到MBean>com.sun.management>HotSpotDiagnostic>操作>dumpHeap中,点击 dumpHeap按钮.生成的dump文件在java应用的根目录下面. 2)jmap -heap 1234 (1234为进程号) 3)cmd ->jvisualvm,远程连接,选择堆Dump生成he

windows linux 下安装mysql 报1045 等错误

曾经在windows 下安装mysql 没怎么出现过问题.而在linux下安装的时候出现了一些问题,昨天在windows 安装的时候也出现了1045 错误.就个人经历来看这个问题就是 root用户password的问题,所以将解决的方式总结例如以下: 一.mysql登录报 1045 错误 mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (us

Linux下Java线程详细监控和其dump的分析使用----分析Java性能瓶颈

这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结: linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: (一):通过[top -p 12377 -H] 查看java进程的有哪些线程的运行情况:       和通过[jstack 12377 > stack.log]生成Java线程的dump详细信息: 先用top命令找出占用资源厉害的java进程id,如图:# top 如上

linux下java程序与C语言程序通过SOCKET通信的简单例子

linux下java程序与C语言程序通过SOCKET通信的简单例子 今天上午实验了java程序与c语言程序通过socket进行通信.由于没学过java,因此只是编写了C语言端的代码,java端的代码是从网上别的文章中找的,经过少量修改后与C语言端程序通信成功. 本例中C语言端作为服务器,java端作为客户端 代码如下: /****************** server program *****************/ #include <stdio.h> #include <sy