Jersey on 6.1:从WAS插件目录加载了错误的类定义

时间:2012-12-18 15:26:59

标签: java jersey classloader jax-rs websphere-6.1

尝试在WAS 6.1上测试jax rs Jersey应用程序,我遇到了以下问题:Jersey需要asm 3.1,特别是对于ClassReader类,但是这个类的不兼容版本是从WAS插件目录加载的。

从以下位置加载错误的类定义:
file:/ C:/ Program Files / IBM / SDP70 / runtimes / base_v61 / plugins / com.ibm.wsfp.main_6.1.0.jar

如果我运行我的应用程序,我会得到一个noSuchMethodError:

java.lang.NoSuchMethodError:     org/objectweb/asm/ClassReader.accept(Lorg/objectweb/asm/ClassVisitor;I)V
    at  com.sun.jersey.server.impl.container.config.AnnotatedClassScanner.analyzeClassFile(AnnotatedClassScanner.java:322)
    at com.sun.jersey.server.impl.container.config.AnnotatedClassScanner.indexDir(AnnotatedClassScanner.java:271)

...

如果我从插件目录中删除这个jar,我的3.1版本的asm jar就会被选中,一切都很好。

所以这是我的问题:处理这种情况的好方法是什么?当我没有办法告诉服务器拿起我的罐而不是罐子givi给他?

完整的问题说明here

谢谢,

马修。

0 个答案:

没有答案