殺人誅心 2017-10-30 10:52 采纳率: 0%
浏览 1682

web项目在 Tomcat 下能正常运行,换到Weblogic下报错

 com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes.
    at com.sun.jersey.server.impl.application.RootResourceUriRules.<init>(RootResourceUriRules.java:99)
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1359)
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:180)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:799)
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:795)
    Truncated. see log file for complete stacktrace
> 

(jdk7,tomcat7,weblogic12c)

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 03:01
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于Tomcat和WebLogic对Jersey支持的不同导致的。Jersey是一个轻量级的REST框架,它使用Java API来构建HTTP服务器。

    在Tomcat中,Jersey默认被配置为一个Servlet容器,并且可以很容易地与传统的MVC架构集成。然而,在WebLogic中,Jersey通常被配置为一个EJB容器,这可能会影响其如何处理一些特定的资源请求。

    要解决这个问题,您可以尝试以下步骤:

    1. 确保您的Tomcat版本支持Jersey。

      • 检查您的Tomcat版本是否已经升级到了7或更高版本,因为旧版本不支持Jersey。
      • 如果您正在使用的是早期的Tomcat版本,可以考虑更新到最新的版本。
    2. 在WebLogic中,确保您的应用已经正确地配置了Jersey。

      • 您需要在WebLogic中启用Jersey服务,并指定正确的路径和端口。
      • 您还需要配置正确的JAX-RS URI规则,以使Jersey能够识别并处理资源请求。
    3. 检查您的应用程序中的资源类。

      • 确保您的应用程序中没有错误配置的资源类,这些可能会阻止Jersey解析资源请求。
      • 检查您的资源类是否有适当的根路径定义,以便于Jersey解析。
    4. 如果以上方法都不能解决问题,您可能需要查看日志文件以获取更详细的错误信息。这可以帮助您定位问题所在。

    请注意,上面提供的解决方案适用于基本的部署环境,如果您的应用程序有复杂的依赖关系或者需要处理更多的定制化需求,请考虑寻求专业的技术支持。

    评论

报告相同问题?