2

I need some help! I have re-installed Eclipse and the latest GWT SDK 2.5.1/App Engine SDK 1.8.4 and my previously working app is not working any more. I cannot find the way out.

As far as I could figure out it has something to do with the maven dependency. Can I remove it? How? I believe it is simple. Please help!

Here is the log:

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)
jankos
  • 896
  • 1
  • 11
  • 16
  • As a first measure, I would clean the project. If that doesn't help, delete any generated directories (make a backup first). – Chris Lercher Sep 10 '13 at 20:46
  • Thanks for the tip Chris. I did it before - does not solve the problem... – jankos Sep 11 '13 at 05:04
  • Ok, maybe it's a problem with the asm version, similar to http://stackoverflow.com/a/13552626/291741 – Chris Lercher Sep 11 '13 at 06:18
  • Dear Chris! Thank you for your help; but I was not successful:( In my project I have no asm*.jar files. I tried to add one (i.e. 3.3.1 as written in the above link), but it is still not working. I tried to switch the datanucleus to v2, but then I get: Caused by: org.datanucleus.exceptions.NucleusUserException: You seem to have ASM v3 in the CLASSPATH and you need ASM v4. I tried to add asm-4.0.jar to lib folder and classpath. but the problem stays.. Any idea??? – jankos Sep 11 '13 at 11:14
  • Hm, my App Engine SDK 1.8.4 (I downloaded it from the Eclipse 3.7 update site) includes asm-4.0 automatically, when I select Datanucleus version v2. One thing that might help is to uncheck "Google > App Enginge > Use Google App Engine" in the project properties, then click ok. Open project properties again, check the build path (it should now contain no asm.jars), and then enable "Google > App Enginge > Use Google App Engine" again. – Chris Lercher Sep 11 '13 at 14:23
  • Dear Chris! Thank you for helping me. The problem is still here. Does anyone see the solution here: java.lang.* *IncompatibleClassChangeError** : class org.datanucleus.enhancer.asm.ASMClassEnhancer$MyClassVisitor has interface org.objectweb.asm.ClassVisitor as super class – jankos Sep 11 '13 at 19:36

2 Answers2

1

I have found the solution: in the build path I had included libraries I did not really need anymore. After cleaning of the project the app was working as expected.

PS: thank you Chris for your help!

jankos
  • 896
  • 1
  • 11
  • 16
0

You can try changing the 'Persistence' of GAE from JPA2 to JPA1. It worked for me.

Jehoshuah
  • 671
  • 2
  • 9
  • 20