在使用Datanucleus增强时出现此错误。任何的想法

时间:2013-04-09 05:13:53

标签: datanucleus

我正在尝试增强一个类(使用注释在运行时生成类)。并得到这个错误。 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)

1 个答案:

答案 0 :(得分:1)

请发表课程。

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

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