簡體   English   中英

線程“ main”中的異常java.lang.ClassFormatError:缺少代碼屬性

[英]Exception in thread “main” java.lang.ClassFormatError: Absent Code attribute

我正在嘗試使用下面的代碼在實體類中掃描JPA @Column注釋;

for (Method m : User.class.getMethods())
{
    if (m.isAnnotationPresent(javax.persistence.Column.class))
    {
        javax.persistence.Column column = m.getAnnotation(javax.persistence.Column.class);
        System.out.println(column.name());
    }
}

但是我變得異常例外。 我可以確認已將javax-api jar加載為依賴項的一部分。 有人知道我在做什么錯嗎?

線程“主”中的異常java.lang.ClassFormat錯誤:方法類中的java.lang.ClassLoader.defineClass1(本機方法)的類文件javax / persistence / CascadeType中不是本機或抽象的Code屬性不存在。 URL為java.net.URLClassLoader.access $ 100(URLClassLoader。 Java的java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)java.net.URLClassLoader $ 1.run(URLClassLoader.java:355)at java.security.AccessController.doPrivileged(本機方法) .net.URLClassLoader.findClass(URLClassLoader.java:354)在java.lang.ClassLoader.loadClass(ClassLoader.java:423)在sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:308)在java.lang。 java.lang.Class.getDeclaredMethods0(本機方法)處的ClassLoader.loadClass(ClassLoader.java:356)java.lang.Class.privateGetDeclaredMethods(Class.j ava:2442)at java.lang.Class.getDeclaredMethods(Class.java:1808)at sun.reflect.annotation.AnnotationType $ 1.run(AnnotationType.java:104)at sun.reflect.annotation.AnnotationType $ 1.run(AnnotationType .java:101),位於sun.reflect.annotation.AnnotationType。(AnnotationType.java:100),位於java.security.AccessController.doPrivileged(本機方法),位於sun.reflect.annotation.AnnotationType.getInstance(AnnotationType.java:84)在sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:221)在sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:88)在sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:70) )的java.lang.reflect.Method.declaredAnnotations(Method.java:699)處的java.lang.reflect.Method.getAnnotation(Method.java:685)處的java.lang.reflect.AccessibleObject.isAnnotationPresent(AccessibleObject.java: 189)

您的jar不包含任何方法主體,而僅包含API規范。 這不適用於與應用程序一起運行或部署。 提取jar,在反編譯器中打開類,您將了解為什么它沒有運行。 我不確定從哪里獲得javax-api jar,但是您肯定需要此jar的原始完整版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM