【发布时间】:2012-06-21 18:49:29
【问题描述】:
为了触发Datanucleus enhancer,我需要对 Persistable 类/实体进行虚拟修改,然后再次保存。
但是,当触发时,会抛出/记录此错误:
java.lang.RuntimeException: Unexpected exception
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:76)
at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:71)
at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:51)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:74)
... 2 more
Caused by: java.lang.NoSuchMethodError: org.datanucleus.plugin.PluginManager.<init>(Lorg/datanucleus/PersistenceConfiguration;Lorg/datanucleus/ClassLoaderResolver;)V
at org.datanucleus.OMFContext.<init>(OMFContext.java:159)
at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:172)
at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:150)
at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1157)
... 7 more
虽然 datanucleus-enhancer-3.0.1 位于 Maven 类路径中,也位于 WEB-INF/文件夹中。
如果没有缺少库,会导致此错误的原因是什么?
【问题讨论】:
-
这里的一个解决方案:stackoverflow.com/questions/6200414/… 说修复将包括“jasper-compiler-jdt”我不确定这个是否应该包含在 GAE 中
-
Datanucleus 能够在没有 Jasper 组件的情况下运行。
标签: java eclipse google-app-engine datanucleus