仅在同一包中应用过滤器

时间:2018-02-15 13:33:25

标签: validation jax-rs java-ee-7

对于Java EE应用程序,我创建了Abhishek所记录的自定义javax.ws.rs.container.ContainerRequestFilter。它基本上运行良好。但是,当我将注释和过滤器(例如从com.foo.resources)移动到同一级别的另一个包(例如com.foo.filters)时,则不再应用过滤器。 为什么不呢?

如果将过滤器和注释移动到子包(例如,从com.foo.resources.filters),它确实有效。

1 个答案:

答案 0 :(得分:0)

听起来您正在为应用程序配置使用某些程序包扫描,并且您已将com.foo.resources列为要扫描的程序包。对于所有@Path@Provider类,递归使用此包和所有子包,然后注册它们。如果你想使用多个包,那么你应该能够列出它们,用逗号分隔。我建议改为只使用公共父包com.foo,因为它会以递归方式扫描包。