java.lang.ClassFormatError : Absent Code attribute in method that is not native or abstract in class file …
проблема
Очень странная и редкая проблема произошла в JPA или разработке Hibernate.
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(Unknow
Решение
Это всегда вызваноjavaee.jar, который находится на Java.net. Многим разработчикам нравится использоватьjavaee.jar со следующей координатой Maven:
Java.Net http://download.java.net/maven/2/ javax javaee-api 6.0
Ноjavaee.jar из java.net не содержит никаких тел методов, а только имя API. Который не подходит для запуска или развертывания вместе с вашим приложением.
Хорошая практика - всегда получать исходную полную версию файлаjavaee.jar изhttp://java.sun.com/javaee/. Просто загрузите и установите J2EE SDK, иjavaee.jar можно будет найти в папке «\ J2EE_SDK_FOLDER \ lib». Включите его в свой локальный репозиторий Maven или путь к классам poject, чтобы избавиться от вышеуказанного сообщения об ошибке.