当我的异常映射器类位于.war包中时,它可以很好地工作。问题是我有几个.war包,它们共享相同的异常层次结构。我正在考虑将我的异常映射器类放入实用程序jar并将它们放入" / lib"应用程序服务器的文件夹。此实用程序jar已包含我的自定义异常类。事实证明,一旦将Jersey放在.war包之外,Jersey就无法找到我的异常映射器类。
有没有办法启用位于" / lib"中的泽西扫描提供商?夹?
BTW,我的应用服务器是&#34; JBoss AS 6.0&#34;我正在使用Jersey SpringServlet。这是我的web.xml配置代码段: <servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>
com.sample.rest
</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
干杯!
答案 0 :(得分:0)
您需要告诉jersey在web.xml中扫描包含ExceptionHandler的软件包。只需将它们分开';'
即可看起来应该是这样的:
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>com.company.app.rest;com.company.util.exception</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>