Hi Jim, Which version of jetty and which version of jersey are you using?
Jetty-9.1.1 certainly uses asm 4.1. If there are any other asm versions on the classpath then that would be a problem - double check that you have removed all other asm jars, and check that that the remaining jars don't have asm classes inside them. You may be able to upgrade the version of jersey to one that uses asm4? Other things you could potentially try are messing around with the system/server classpath settings on jetty : http://www.eclipse.org/jetty/documentation/current/jetty-classloading.html Jan On 23 January 2014 09:10, Jim Garrison <[email protected]> wrote: > I tried to use the information at > http://www.eclipse.org/jetty/documentation/current/using-annotations-embedded.html > but on startup I get a bunch of exceptions during annotation processing. > > > > 2014-01-22 13:53:04.872:WARN:oejut.QueuedThreadPool:qtp1193472379-16: > > java.lang.IncompatibleClassChangeError: class > org.eclipse.jetty.annotations.AnnotationParser$MyClassVisitor has interface > org.objectweb.asm.ClassVisitor as super class > > at java.lang.ClassLoader.defineClass1(Native Method) > > at java.lang.ClassLoader.defineClass(ClassLoader.java:792) > > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > > at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) > > at java.net.URLClassLoader.access$100(URLClassLoader.java:71) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:361) > > at java.net.URLClassLoader$1.run(URLClassLoader.java:355) > > at java.security.AccessController.doPrivileged(Native Method) > > at java.net.URLClassLoader.findClass(URLClassLoader.java:354) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > > at > org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:971) > > at > org.eclipse.jetty.annotations.AnnotationParser.parseJarEntry(AnnotationParser.java:953) > > at > org.eclipse.jetty.annotations.AnnotationParser.parseJar(AnnotationParser.java:906) > > at > org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:828) > > at > org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:111) > > at > org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:472) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) > > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) > > at java.lang.Thread.run(Thread.java:724) > > > > Examining the transitive dependencies I found > > > > asm-all-repackaged-2.2.0-b21.jar > > asm-4.1.jar > > asm-commons-4.1.jar > > asm-tree-4.1.jar > > > > with asm-all-repackaged-2.2.0-b21 coming from > jersey-container-jetty-servlet. Examining the sources I find that indeed, > org.objectweb.asm.ClassVisitor changed from an interface in 2.2.0 to an > abstract class in 4.1. > > > > However, I still get the error even after removing > asm-all-repackaged-2.2.0-b21.jar from the jetty classpath. > > > > Here's the Java embedded launcher code: > > > > import org.eclipse.jetty.server.Server; > > import org.eclipse.jetty.webapp.Configuration.ClassList; > > import org.eclipse.jetty.webapp.WebAppContext; > > > > public class JettyLauncher > > { > > public static void main(String[] args) throws Exception > > { > > Server server = new Server(8080); > > ClassList classlist = ClassList.setServerDefault(server); > > classlist.addAfter("org.eclipse.jetty.webapp.FragmentConfiguration", > "org.eclipse.jetty.plus.webapp.EnvConfiguration", > "org.eclipse.jetty.plus.webapp.PlusConfiguration"); > > > classlist.addBefore("org.eclipse.jetty.webapp.JettyWebXmlConfiguration", > "org.eclipse.jetty.annotations.AnnotationConfiguration"); > > > > WebAppContext wac = new > WebAppContext("target/server-0.1.0-SNAPSHOT","/test"); > > server.setHandler(wac); > > server.start(); > > server.join(); > > } > > } > > > > Questions: > > > > 1) Why didn't removing asm-all-repackaged from the classpath make it work? > > 2) Is it possible to get Jetty and Jersey to play nice when using > annotations? > > > _______________________________________________ > jetty-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/jetty-users > -- Jan Bartel <[email protected]> www.webtide.com 'Expert Jetty/CometD developer,production,operations advice' _______________________________________________ jetty-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/jetty-users
