java.lang.ClassFormatError: HelloWorld (unrecognized class file version)

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

[root@Mr javaPC]# javac HelloWorld.java
[root@Mr javaPC]# ls
HelloWorld.class HelloWorld.java 计算器.java 计算器.java~
[root@Mr javaPC]# java HelloWorld
Exception in thread “main” java.lang.ClassFormatError: HelloWorld (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)

 

初步解决方法和分析:

在执行的时候打入完整路径 。如下:

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

 

其实 查一下java版本就晓得问题出在哪里了。

[root@Mr javaPC]# java -version
java version “1.4.2″
gij (GNU libgcj) version 4.1.1 20061011 (Red Hat 4.1.1-30)

 

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

知道根源,就好解决咯。如何把1.4的叉叉了如何修改环境变量PATH等等等等。

网上一大坨修改/etc/profile 然后source的,而老师也讲了修改root下的某个文件(ThizLinuxinux里)

 

解决的方法二:

在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

你可能感兴趣的:(java,thread,linux,bash,sun)