常见异常的解决方法

异常:

Exception in thread "main" java.lang.ClassFormatError: com.ssx.tool.demo.core.BeginClass (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 java.lang.ClassLoader.loadClass(libgcj.so.7rh)

   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)

   at gnu.java.lang.MainThread.run(libgcj.so.7rh)

 

or

 

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

        at java.lang.ClassLoader.defineClass1(Native Method)

        at java.lang.ClassLoader.defineClass(Unknown Source)

        at java.security.SecureClassLoader.defineClass(Unknown Source)

        at java.net.URLClassLoader.defineClass(Unknown Source)

        at java.net.URLClassLoader.access$100(Unknown Source)

        at java.net.URLClassLoader$1.run(Unknown Source)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClass(Unknown Source)

        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

 

原因:

        这是因为编译环境和执行环境的JDK版本不一致引起的。

        比如:在A机上开发并打包,A的JDK是1.6,将包放至B机上执行,而B的JDK是1.5,这就会出现这种问题。

解决方法:

        查看两个环境环境的JDK版本,如果不一样就更改一下。

你可能感兴趣的:(异常)