users@jersey.java.net

Hibernate dependency breakage from 0.4 to 0.5

From: Mark Derricutt <mark_at_talios.com>
Date: Fri, 25 Jan 2008 12:08:34 +1300

Hey all,

I've just noticed an annoying dependency breakage in my app after updating
to Jersey 0.5, I'm using Hibernate 3.2.5 which is using asm-1.5.3 (although
oddly I have it using asm-2.2.1 in another project) via cglib-2.3, only
Jersey 0.5 now introduces asm-3.1 into the mix which a) breaks
hibernate/cglib and b) asm-2.2.1 breaks jersey.

The relevant stack trace from Jersey is:

[22:29:46.248] java.lang.NoSuchMethodError:
org.objectweb.asm.ClassReader.accept(Lorg/objectweb/asm/ClassVisitor;I)V
[22:29:46.248] at
com.sun.ws.rest.impl.container.config.ResourceClassScanner.analyzeClassFile(
ResourceClassScanner.java:190)
[22:29:46.248] at
com.sun.ws.rest.impl.container.config.ResourceClassScanner.indexJar(
ResourceClassScanner.java:172)
[22:29:46.248] at
com.sun.ws.rest.impl.container.config.ResourceClassScanner.indexJar(
ResourceClassScanner.java:161)
[22:29:46.248] at
com.sun.ws.rest.impl.container.config.ResourceClassScanner.indexDir(
ResourceClassScanner.java:153)
[22:29:46.248] at
com.sun.ws.rest.impl.container.config.ResourceClassScanner.index(
ResourceClassScanner.java:122)
[22:29:46.248] at
com.sun.ws.rest.impl.container.config.ResourceClassScanner.scan(
ResourceClassScanner.java:76)
[22:29:46.248] at com.sun.ws.rest.api.core.ClasspathResourceConfig.init(
ClasspathResourceConfig.java:102)
[22:29:46.248] at com.sun.ws.rest.api.core.ClasspathResourceConfig.<init>(
ClasspathResourceConfig.java:73)
[22:29:46.248] at com.sun.ws.rest.api.core.ClasspathResourceConfig.<init>(
ClasspathResourceConfig.java:81)
[22:29:46.248] at
com.sun.ws.rest.spi.container.servlet.ServletContainer.createResourceConfig(
ServletContainer.java:153)
[22:29:46.248] at
com.sun.ws.rest.spi.container.servlet.ServletContainer.init(
ServletContainer.java:104)

Is anyone using Jersey 0.5 with Hibernate 3.2.5 successfully and knows what
magic set of dependencies I could update my project to (or if I can tell
hibernate to not use/need cglib/asm)?

In the meantime I'll continue looking and report back if I get it them
working together...

Mark


-- 
"The L in LAMP stands for Linux, not Looney" - Jonathan Schwartz, Sun
Microsystems, Inc.