这个是我 /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)请教各位

解决方案 »

  1.   

    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改:
    export JAVA_HOME=/usr/java/jdk1.6.0_02
    export PATH=$PATH:$JAVA_HOME/bin:.
    export CLASSPATH=.
    即可~
    classpath有重大错误~ 先搞清classpath是设置什么的  在设置吧~ 网上查下就明白了~
      

  2.   

    自己搞定了
    把export PATH=$PATH:$JAVA_HOME/bin
    改成 export PATH=$JAVA_HOME/bin:$PATH:
    就可以了
    否则 系统自动调用 的java 和javac不是/usr/java/jdk1.6.0_02/bin/javac
    而是/usr/bin里的
    虽然和楼上说的不一样,还是非常感谢:)