0

我正在尝试增强一个类(类是在运行时使用注释生成的)。并得到这个错误。DN 说它是空指针。任何想法?

22:03:36,816 (pool-7-thread-1) DEBUG [DataNucleus.MetaData] - Registering class "test.TESTClass" as not having MetaData.
22:03:36,817 (pool-7-thread-1) ERROR [DataNucleus.Enhancer] - Error thrown enhancing with ASMClassEnhancer
java.lang.NullPointerException
    at org.datanucleus.enhancer.jdo.JDOMethodAdapter.visitFieldInsn(JDOMethodAdapter.java:103)
    at org.datanucleus.asm.ClassReader.readCode(ClassReader.java:1333)
    at org.datanucleus.asm.ClassReader.readMethod(ClassReader.java:953)
    at org.datanucleus.asm.ClassReader.accept(ClassReader.java:684)
    at org.datanucleus.asm.ClassReader.accept(ClassReader.java:521)
    at org.datanucleus.enhancer.jdo.JDOClassEnhancer.enhance(JDOClassEnhancer.java:427)
    at org.datanucleus.enhancer.DataNucleusEnhancer.enhanceClass(DataNucleusEnhancer.java:927)
    at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:534)
    at org.datanucleus.api.jdo.JDOEnhancer.enhance(JDOEnhancer.java:125)
    at com.xxxx.MYClassLoader.findClass(MYAClassLoader.java:615)
4

1 回答 1

1

请发布您的课程。

当这种奇怪的事情发生时,我clean的项目。(即删除所有已构建的类。在 Eclipse 中Project > Clean...:)

并确保您使用的注释基于正确的路径。使用JDO注释而不是Datanucleus(即使用javax.jdo.annotations.PersistenceCapable而不是org.datanucleus.api.jpa.annotations.PersistenceCapable,虽然我不确定这是否可能,因为编译器会抱怨它对我来说)

于 2013-04-09T09:33:02.460 回答