我有一個@Provider
帶註釋的異常映射程序,但澤西島不加載或註冊它。JaxRS異常映射程序找不到
在我web.xml
(下調):
<servlet>
<servlet-name>Jersey</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>
com.my.company;
com.fasterxml.jackson.jaxrs.json;
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
映射器:
package com.my.company.some.package;
@Provider
public class MyExceptionMapper implements ExceptionMapper<MyException> {
@Override
public Response toResponse(MyException exception) {
return Response.status(Status.NOT_FOUND).build();
}
}
我在com.my.company.other.package
包@Path
註解API類,這些都是正確發現沒有我可以訪問它們問題。沒有找到@Provider
帶註釋的映射器。
如果我在映射器構造函數和/或toResponse
方法中放置了一條日誌消息,那麼也不會顯示這些消息。我不得不得出結論,澤西島無法找到或決定不加載課程。我如何得到這個工作?
我沒有看到你提供的東西有什麼問題。也許你沒有提供的東西。不知道它可能是什麼。你能否提供一個能夠重現問題的小型github項目? –