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 に答える