私は@Provider
注釈例外マッパーを持っていますが、Jerseyはロードまたは登録していません。私web.xml
でJaxRS例外マッパーが見つかりません
(トリムダウン):
<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クラスを持っているものは、正しく検出されたと私はせずにアクセスすることができます問題。注釈付きマッパーのいずれも見つかりません。
マッパーコンストラクタおよび/またはtoResponse
メソッドにログメッセージを挿入すると、そのメッセージも表示されません。私はジャージーだけが見つけることができないか、クラスをロードしないことを決定することを強いられます。これをどのように機能させるには?
あなたが提供しているものに間違いはありません。あなたが提供していないものかもしれません。それが何であるかは不明です。あなたは問題を再現する小さなgithubプロジェクトを提供できますか? –