这个是我 /etc/profile里的配置export JAVA_HOME=/usr/java/jdk1.6.0_02
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar我用eclipse写和编译都没问题
用 java filename 来运行eclipse编译出来的 class文件也没问题但是如果我用 javac filename.java 来编译文件
然后再运行 java filename就不行了
测试程序是一个 helloworld
错误信息是Exception in thread "main" java.lang.ClassFormatError: HelloWorld (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.8rh)
at java.lang.ClassLoader.defineClass(libgcj.so.8rh)
at java.security.SecureClassLoader.defineClass(libgcj.so.8rh)
at java.net.URLClassLoader.findClass(libgcj.so.8rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.8rh)
at java.lang.ClassLoader.loadClass(libgcj.so.8rh)
at java.lang.ClassLoader.loadClass(libgcj.so.8rh)
at gnu.java.lang.MainThread.run(libgcj.so.8rh)请教各位
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar我用eclipse写和编译都没问题
用 java filename 来运行eclipse编译出来的 class文件也没问题但是如果我用 javac filename.java 来编译文件
然后再运行 java filename就不行了
测试程序是一个 helloworld
错误信息是Exception in thread "main" java.lang.ClassFormatError: HelloWorld (unrecognized class file version)
at java.lang.VMClassLoader.defineClass(libgcj.so.8rh)
at java.lang.ClassLoader.defineClass(libgcj.so.8rh)
at java.security.SecureClassLoader.defineClass(libgcj.so.8rh)
at java.net.URLClassLoader.findClass(libgcj.so.8rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.8rh)
at java.lang.ClassLoader.loadClass(libgcj.so.8rh)
at java.lang.ClassLoader.loadClass(libgcj.so.8rh)
at gnu.java.lang.MainThread.run(libgcj.so.8rh)请教各位
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar改:
export JAVA_HOME=/usr/java/jdk1.6.0_02
export PATH=$PATH:$JAVA_HOME/bin:.
export CLASSPATH=.
即可~
classpath有重大错误~ 先搞清classpath是设置什么的 在设置吧~ 网上查下就明白了~
把export PATH=$PATH:$JAVA_HOME/bin
改成 export PATH=$JAVA_HOME/bin:$PATH:
就可以了
否则 系统自动调用 的java 和javac不是/usr/java/jdk1.6.0_02/bin/javac
而是/usr/bin里的
虽然和楼上说的不一样,还是非常感谢:)