我正在尝试增强一个类(使用注释在运行时生成类)。并得到这个错误。 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)
答案 0 :(得分:1)
请发表课程。
当这种奇怪的事情发生时,我clean
我的项目。 (即删除所有构建的类。在Eclipse中:Project > Clean...
)
确保您使用的注释基于正确的路径。使用JDO
注释而不是Datanucleus
(即使用javax.jdo.annotations.PersistenceCapable
而不是org.datanucleus.api.jpa.annotations.PersistenceCapable
,虽然我不确定这是否可行,因为编译器会抱怨它对我来说)