我有一个使用 Jersey 实现运行 JAX-RS Web 服务的 Web 应用程序。目标应用服务器是 WebLogic 12c,其默认 JAXRS 实现是 Jersey v1.9。
1) 当在 Jetty (6.1.26) 上运行时,依赖 jersey-server-1.9,一切都很好。
2) 当在 WebLogic 12c 上运行 jersey-core.jar + jersey-server.jar (v1.9) jar 都嵌入在我的战争的 WEB-INF/lib 中时,它也可以工作。
2) 当在 WebLogic 12c 上运行时,从这 2 个 jar 中截断相同的战争(假设 weblogic Java EE 堆栈已经提供了不需要的),它不再工作了。我收到以下错误:
“weblogic.application.ModuleException:[HTTP:101216]Servlet:“jersey-servlet”无法在 Web 应用程序启动时预加载:“cachede-newgen.war”。com.sun.jersey.api.container.ContainerException:ResourceConfig实例不包含任何根资源类。在 com.sun.jersey.server.impl.application.RootResourceUriRules.(RootResourceUriRules.java:99)"
不用说,泽西版本在所有三种情况下都是完全相同的:
“2013 年 4 月 24 日下午 4:10:24 com.sun.jersey.server.impl.application.WebApplicationImpl _initiate INFO:启动 Jersey 应用程序,版本 'Jersey:1.9 09/02/2011 上午 11:17'”
它再次听起来(视觉!)像一个类路径或类加载器问题:-(
任何想法或解决方法来解决这个问题(考虑到我不想在每次部署的战争中重复球衣罐)?