当我尝试部署我的REST服务时,我在NetBeans中得到错误。日志显示它在com.mypackage.io
中找到三个根资源类,这是不正确的,因为实际上只有Resource
类存在。
它原来是ResourceABC
,但我改名为Resource
。类ResourceXYZ
是我删除的一个类。所有这些类都映射到相同的路径"/"
,这就是我的REST服务无法加载的原因。那么,为什么Glassfish/Jersey在这些课程已经不存在的时候还会选择这些课程呢?
INFO: Scanning for root resource and provider classes in the packages:
com.mypackage.io
INFO: Root resource classes found:
class com.mypackage.io.Resource
class com.mypackage.io.ResourceABC
class com.mypackage.io.ResourceXYZ
将此添加到您的web.xml中。
<web-app>
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>org.foo.rest;org.bar.rest</param-value>
</init-param>
...
</servlet>
...
</web-app>
如果是gradle项目,请执行gradle clean并检查