尝试在 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 会被拾取,一切都很好。
所以这是我的问题:处理这种情况的好方法是什么?当我把它交给他时,有没有办法告诉服务器拿起我的罐子而不是它的罐子?
在这里完成问题描述。
谢谢,
马修。