java.lang.ClassFormatError

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/CodeFarmer_/article/details/80744661
---------------------
版权声明:本文为CSDN博主「朱世良」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CodeFarmer_/article/details/80744661

 

这个错误很奇怪,查了很久终于找到了,在这里整理一下:

Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is  
        not native or abstract in class file javax/persistence/GenerationType  
  
at java.lang.ClassLoader.defineClass1(Native Method)  
at java.lang.ClassLoader.defineClassCond(Unknown Source)  
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$000(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) 

 

有以下几种原因:

1. 类文件是以 ASCII 模式而不是二进制模式来上传的。
2. 网页服务器是以二进制而非 ASCII 来发送类文件的。
3. 可能有类路径错误阻止了代码找到类文件。
4. 如果类被加载了两次,第二次就会导致这个异常被抛出来。

5. 使用了不同版本的 Java 运行时。

我的原因是FTP工具的原因,我使用的是XFTP4(Build 0223),设置的传输模式是Binary二进制上传,但是FTP工具实际上的上传方式是ASCII模式,所以导致一直报这个错误。我换了一个FTP工具之后该问题解决。

posted @ 2019-08-16 16:09  contixue  阅读(2040)  评论(0编辑  收藏  举报