2014-01-07 77 views
3

我有一个Jersey应用程序作为Tomcat部署为WAR。我获得了所有资源的404s,并试图找出原因。泽西岛 - 不扫描资源?

既然我已经启用日志记录球衣,我看到指示日志消息泽西正在初始化:

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.xmlmyApp.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元素正在部署。

是否有一个原因,我很想念为什么要么:

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

感谢

+0

你能列出一些404点的URI,并应使他们的工作注解?这个servlet映射到哪里? – nitind

回答

5

你试图配置泽西2应用程序(包前缀org.glassfish.jersey)与泽西1个属性(包前缀com.sun.jersey)。目前暂不支持。看看文章Registering Resources and Providers in Jersey 2,它正在解释如何在泽西岛2实现这样的事情。还有对支持的属性的引用。

注意:您将无法查看日志消息通知您发现资源/供应商在泽西2