泽西岛 - 没有扫描资源?

时间:2014-01-07 17:07:05

标签: tomcat logging jersey

我在Tomcat中将Jersey应用程序部署为WAR。我获得了所有资源的404s,我正在努力找出原因。

由于我启用了Jersey日志记录,因此我看到一条日志消息,指示Jersey正在初始化:

INFO:   org.apache.catalina.startup.HostConfig deployWAR 
+INFO:       Deploying web application archive myApp.war 
INFO:   org.glassfish.jersey.server.ApplicationHandler initialize 
+INFO:       Initiating Jersey application, version Jersey: 2.3.1 2013-09-27 07:50:09... [.logger.j2se.BizManagerHandler]

根据其他SO帖子判断,我希望看到这样的日志作为下一行:

INFO: Scanning for root resource and provider classes in the packages:
    com.xxx.restful

我没有看到此日志,也没有显示找到资源的任何日志 - 所以我不确定扫描是否正在发生。

web.xml中的myApp.war包含以下内容:

<servlet>
    <servlet-name>My Servlet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
    <init-param>
        <param-name>javax.ws.rs.Application</param-name>
        <param-value>com.example.MyConfig</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.property.packages</param-name>
        <param-value>com.example.myApp.rest</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
        <param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name>
        <param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.feature.Trace</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>com.sun.jersey.config.feature.Debug</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

我假设我的日志是证明正在部署这个servlet元素。

我有什么理由错过了原因:

  • 扫描没有发生?
  • 正在进行扫描,但没有记录?

由于

1 个答案:

答案 0 :(得分:6)

您正在尝试使用Jersey 1属性(包前缀org.glassfish.jersey)配置Jersey 2应用程序(包前缀com.sun.jersey)。目前不支持此功能。看看文章Registering Resources and Providers in Jersey 2,它解释了如何在Jersey 2中实现这样的功能。还有对支持的属性的引用。

注意:您不会看到通知您有关Jersey 2中找到的资源/提供商的日志消息。