Gwt ClassEnhancer“出现错误”;ASM";
我需要帮助!我已经重新安装了Eclipse和最新的GWT SDK 2.5.1/App Engine SDK 1.8.4,我以前使用的应用程序不再工作。我找不到出路 据我所知,这与maven依赖性有关。我可以移除它吗?怎么用? 我相信这很简单。请帮忙 以下是日志:Gwt ClassEnhancer“出现错误”;ASM";,gwt,datanucleus,Gwt,Datanucleus,我需要帮助!我已经重新安装了Eclipse和最新的GWT SDK 2.5.1/App Engine SDK 1.8.4,我以前使用的应用程序不再工作。我找不到出路 据我所知,这与maven依赖性有关。我可以移除它吗?怎么用? 我相信这很简单。请帮忙 以下是日志: sep 10, 2013 9:40:01 PM org.datanucleus.enhancer.DataNucleusEnhancer addMessage SEVERE: An error occured for ClassEnha
sep 10, 2013 9:40:01 PM org.datanucleus.enhancer.DataNucleusEnhancer addMessage
SEVERE: An error occured for ClassEnhancer "ASM" when trying to call the method "org.datanucleus.enhancer.asm.ASMClassEnhancer" on class "getClassNameForFileName" : class org.datanucleus.enhancer.asm.ASMClassEnhancer$MyClassVisitor has interface org.objectweb.asm.ClassVisitor as super class
java.lang.IncompatibleClassChangeError: class org.datanucleus.enhancer.asm.ASMClassEnhancer$MyClassVisitor has interface org.objectweb.asm.ClassVisitor as super class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
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 com.google.appengine.tools.enhancer.EnhancerLoader.loadClass(EnhancerLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.datanucleus.enhancer.asm.ASMClassEnhancer.getClassNameForFileName(ASMClassEnhancer.java:152)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.datanucleus.enhancer.DataNucleusEnhancer.getClassNameForFilename(DataNucleusEnhancer.java:920)
at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:736)
at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:545)
at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1252)
我找到了解决方案:在构建路径中,我包含了我不再真正需要的库。清理项目后,应用程序按预期工作
PS:谢谢克里斯的帮助 您可以尝试将GAE的“持久性”从JPA2更改为JPA1。这对我有用 作为第一项措施,我将清理该项目。如果没有帮助,请删除所有生成的目录(首先进行备份)。谢谢您的提示。我以前做过-没有解决问题…好吧,也许是asm版本的问题,类似于亲爱的Chris!谢谢你的帮助;但我没有成功:(在我的项目中,我没有asm*.jar文件。我试图添加一个(如上面链接中所述的3.3.1),但它仍然不起作用。我试图将datanucleus切换到v2,但随后我得到:起因:org.datanucleus.exceptions.nucleuserexception:类路径中似乎有ASM v3,您需要ASM v4。我试图将ASM-4.0.jar添加到lib文件夹和类路径。但问题仍然存在。知道吗???嗯,我的应用引擎SDK 1.8.4(我从Eclipse3.7更新站点下载的)当我选择Datanucleus版本v2时,自动包含asm-4.0。一件可能有用的事情是取消选中项目属性中的“Google>App Engine>Use Google App Engine”,然后单击“确定”。再次打开项目属性,检查构建路径(它现在应该不包含asm.jars),然后再次启用“谷歌>应用程序引擎>使用谷歌应用程序引擎”。