我刚开始使用 Jersey 框架和开发 Web 服务。我使用 Weblogic v 10 作为现有项目的应用程序服务器,并尝试使用简单的 HelloWorld 示例开始。
不幸的是,在运行时,我在 com/sun/jersey/core/reflection/ReflectionHelper 上收到 java.lang.NoClassDefFoundError at com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig 我尝试使用多个版本Jersey(.jar 文件版本 1.1.4.1 和 1.1.5.1 和 1.3),但结果是相同的。我正在使用 Java 1.5 构建并运行它
包含 HelloWorld 类的 .jar 文件已正确加载到我的部署 WEB-INF\classes 文件夹中。至于 web.xml 文件,它仅包含找到的 Jersey 的 servlet 类设置,但随后调用 WebComponent 类来执行初始化,并且当该模块尝试 createResourceConfig 时,会收到错误。类路径已被检查并且显示正确。
如有任何见解,我们将不胜感激。
最佳答案
Web 应用程序类路径中有多个版本的 com/sun/jersey/core/reflection/ReflectionHelper。
这就是导致 NoClassDefFoundError 的原因
注意:这与 ClassNotFoundException 不同。
您可以搜索类路径和所有库以查看在哪里找到多个 ReflectionHelper 类吗?
我怀疑你仍然拥有所有 -
I have tried using multiple versions of the Jersey .jar files (1.1.4.1 and 1.1.5.1 and 1.3)
- 版本随处可见。只保留一个 - 并删除分解的类。
关于java - 将 Jersey 和 RESTful Web 服务与 Weblogic 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822127/