带RESTeasy的JAX-RS:自动扫描资源?

时间:2016-06-02 21:26:45

标签: java jax-rs resteasy

https://docs.jboss.org/resteasy/docs/3.0.6.Final/userguide/html_single/

这些RESTeasy文档说:

"由于我们不使用jax-rs servlet映射,我们必须定义一个使用@ApplicationPath注释注释的Application类。 如果您为类和单例返回任何空集,则将扫描您的WAR以查找JAX-RS注释资源和提供程序类。"

然而,有一个名为 resteasy.scan 的配置开关,其描述如下:

"自动扫描@Provider和JAX-RS资源类(@ Path,@ GET,@ POST等)的WEB-INF / lib jar和WEB-INF / classes目录并注册它们&#34 ;

...所以如果我想自动扫描我的资源而不需要在web.xml中列出它们,或者必须手动将它们的类添加到我的类中扩展应用程序的单例列表...其中哪一个我应该服从吗?因为似乎这两个重叠,除了resteasy.scan道具还包括罐子的事实。

另外,我认为resteasy.scan.resources与resteasy.resources完全相同,只是它不扫描罐子?我觉得这是一种全面的,我不知道这是什么实际做的。我怎么知道这些扫描属性甚至可以工作,除了一切都没有返回404?

1 个答案:

答案 0 :(得分:4)

所以在启用正确的log4j日志记录之前我无法知道这一点(因为文档甚至没有提到这一点):

RESTEASY002150: resteasy.scan is no longer supported.  Use a servlet 3.0 container and the ResteasyServletInitializer

这里的文档中概述了这一点:

http://docs.jboss.org/resteasy/docs/3.0.17.Final/userguide/html_single/index.html#d4e113

真的希望他们更新他们的文档,以便在它不起作用的时候不列出这个属性......但是很好。