MongoDB: Morphia REST 505 Exception Tomcat

Hallo,
ich arbeite mich gerade in REST ein und habe jetzt einen kleinen REST Service geschrieben, der erfolgreich mit einer Mongo DB kommuniziert. Jetzt möchte ich Morphia einsetzen und habe mir Morphie per maven gezogen. Jedoch bekomme ich folgenden Fehler wenn ich eine Morphia Instanz einfüge. Hier der code mit auskommentierter MongoInstanz: https://github.com/TheSlowlySnail/M.../src/de/meinTellerchen/rest/HelloService.java

Ich erhalte im Tomcat folgenden Fehler:
HTTP Status 500 - java.lang.IncompatibleClassChangeError: class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class
Code:
type Exception report

message java.lang.IncompatibleClassChangeError: class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.IncompatibleClassChangeError: class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:420)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

java.lang.IncompatibleClassChangeError: class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:760)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2496)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:860)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1302)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
net.sf.cglib.core.DefaultGeneratorStrategy.getClassVisitor(DefaultGeneratorStrategy.java:30)
net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:24)
net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:231)
net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java:149)
net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117)
net.sf.cglib.core.KeyFactory.create(KeyFactory.java:109)
net.sf.cglib.core.KeyFactory.create(KeyFactory.java:105)
net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:71)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:264)
org.mongodb.morphia.mapping.lazy.LazyFeatureDependencies.testDependencyFullFilled(LazyFeatureDependencies.java:32)
org.mongodb.morphia.mapping.lazy.LazyFeatureDependencies.createDefaultProxyFactory(LazyFeatureDependencies.java:41)
org.mongodb.morphia.mapping.Mapper.<init>(Mapper.java:109)
org.mongodb.morphia.Morphia.<init>(Morphia.java:45)
de.meinTellerchen.rest.HelloService.getDBCon(HelloService.java:35)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:497)
com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:288)
com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1469)
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1400)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1349)
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1339)
com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Dependencies: https://github.com/TheSlowlySnail/MongoMorphiaTutorial/blob/master/pom.xml

Für hilfe, warum diese Servlet Exception erscheint wäre ich sehr sehr dankbar 🙂

Viele Grüße
 
Ich nehme an du verwendest 2 externe Bibliotheken deren Versionen einfach nicht zueinander passen 😉
stackoverflow.com/questions/26173802/how-can-i-resolve-java-lang-incompatibleclasschangeerrora

BTW: Ich habe einfach die Fehlermeldung (class net.sf.cglib.core.DebuggingClassWriter has interface org.objectweb.asm.ClassVisitor as super class) genommen und per Google gesucht: https://www.google.at/search?q=clas...-8&oe=utf-8&gws_rd=cr&ei=Py9YVsOOHsq7acWktbAL
Sowas ist immer ganz gut, entweder man findet welche mit einem ähnlichen bzw. gleichen Fehler oder gar nichts (dann kann man immer noch fragen).
 
Das hab ich tatsächlich auch gemacht, aber ich war so doof und habe geglaubt das cglib 3.2 sei kein problem. aber ich musste wirklich auf 2.2.2 . Zuvor hab ich noch mit der Reihenfolge und asm rumgespielt. Dafür schäm ich mich jetzt ein wenig. Aber vielen vielen Dank 🙂 ich hoffe jetzt gehts voran
 

Neue Themen


Zurück
Oben