Jakarta ee Glassfish/Jersey在扫描REST资源时是否查找已删除的文件?
当我尝试部署REST服务时,NetBeans中出现了错误。日志显示,它在Jakarta ee Glassfish/Jersey在扫描REST资源时是否查找已删除的文件?,jakarta-ee,netbeans,glassfish,jersey,Jakarta Ee,Netbeans,Glassfish,Jersey,当我尝试部署REST服务时,NetBeans中出现了错误。日志显示,它在com.mypackage.io中找到了三个根资源类,这是不正确的,因为只有resource类实际存在 它最初是ResourceABC,但我将其重命名为Resource。类ResourceXYZ是一个已删除的类。所有这些类都映射到同一路径“/”,这就是我的REST服务无法加载的原因。那么,为什么Glassfish/Jersey选择了这些已经不存在的职业呢 INFO: Scanning for root resource an
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>
Jersey Web应用程序
org.glassfish.jersey.servlet.ServletContainer
jersey.config.server.provider.packages
org.foo.rest;org.bar.rest
...
...
我刚刚将资源
重命名为Bug
,并部署到Glassfish,这自然失败了。然后我将Bug
重新命名为Resource
,当我再次尝试部署时,它将Bug
显示为找到的根资源类之一,以及上面提到的其他三个资源类。这毫无意义,它是如何提取这些已删除/不再存在于此包中的类的?有时Glassfish在从Netbeans重新部署应用程序时会感到困惑,您是否尝试过先取消部署应用程序,然后重新部署?如果这甚至不起作用,请尝试删除Glassfish域文件夹下“生成”子文件夹中的文件。