尝试在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。
谢谢,
马修。