Если мой класс модели импортирует HttpServletRequest, энхансер Datanucleus генерирует NoClassDefFoundError - PullRequest
0 голосов
/ 12 августа 2011

Есть ли параметр Datanucleus, чтобы не допустить выдачи ошибки энхансером, если класс HttpServletRequest импортируется расширяемым классом модели?

Aug 11, 2011 11:06:34 PM org.datanucleus.enhancer.asm.JdoClassAdapter visitEnd
WARNING: java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
        at java.lang.Class.getDeclaredConstructors(Unknown Source)
        at java.io.ObjectStreamClass.computeDefaultSUID(Unknown Source)
        at java.io.ObjectStreamClass.access$100(Unknown Source)
        at java.io.ObjectStreamClass$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.io.ObjectStreamClass.getSerialVersionUID(Unknown Source)
        at org.datanucleus.enhancer.asm.JdoClassAdapter.visitEnd(JdoClassAdapter.java:338)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.objectweb.asm.ClassReader.accept(Unknown Source)
        at org.datanucleus.enhancer.asm.ASMClassEnhancer.enhance(ASMClassEnhancer.java:355)
        at org.datanucleus.enhancer.DataNucleusEnhancer.enhanceClass(DataNucleusEnhancer.java:974)
        at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:570)
        at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1252)
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 15 more

1 Ответ

0 голосов
/ 12 августа 2011

Вы можете ограничить, какие классы улучшаются, так что просто улучшайте постоянные. Если вы этого не сделаете, вам придется искать аннотации, и при этом нужно будет загрузить определение класса, и загрузчик классов Java будет жаловаться, если у вас нет ваших зависимостей в вашем classpath

...