我在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
包含此:
My Servlet org.glassfish.jersey.servlet.ServletContainer javax.ws.rs.Application com.example.MyConfig com.sun.jersey.config.property.packages com.example.myApp.rest com.sun.jersey.spi.container.ContainerRequestFilters com.sun.jersey.api.container.filter.LoggingFilter com.sun.jersey.spi.container.ContainerResponseFilters com.sun.jersey.api.container.filter.LoggingFilter com.sun.jersey.config.feature.Trace true com.sun.jersey.config.feature.Debug true 1
我想我的日志做看到的证据表明,这个servlet元素正在部署.
有没有理由我错过了为什么:
扫描没有发生?
扫描正在进行,但没有记录?
谢谢
您正在尝试org.glassfish.jersey
使用Jersey 1属性(包前缀com.sun.jersey
)配置Jersey 2应用程序(包前缀).目前不支持此功能.看一下Jersey 2中注册资源和提供者的文章,该文章解释了如何在Jersey 2中实现这样的功能.还有对支持的属性的引用.
注意:您不会看到有关Jersey 2中找到的资源/提供商的日志消息.