当前位置: 首页 > 知识库问答 >
问题:

RestEasy Boss无法扫描Web-Inf中的Jax-RS注释

况喜
2023-03-14

我得到的错误是:无法扫描WEB-INF中的JAX-RS注释,您必须手动注册您的类/资源

我有以下maven配置:

<dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-servlet-initializer</artifactId>
            <version>3.0.4.Final</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-cdi</artifactId>
            <version>3.0.4.Final</version>
            <exclusions>
                <exclusion>
                    <groupId>org.jboss.resteasy</groupId>
                    <artifactId>resteasy-jaxrs</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
 <dependency>
            <groupId>org.jboss.weld.servlet</groupId>
            <artifactId>weld-servlet</artifactId>
            <version>2.2.14.Final</version>
        </dependency>
@Path("test")
public class MyResource {

//    @Inject
//    private JpaUserDao userDao;

    /**
     * Method handling HTTP GET requests. The returned object will be sent
     * to the client as "text/plain" media type.
     *
     * @return String that will be returned as a text/plain response.
     */
    @GET
    @Produces(MediaType.TEXT_XML)
    public String getIt() {
        System.out.printf("");
        return "Got it!";
    }



}
<listener>
    <listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>
<listener>
    <listener-class>
        org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
    </listener-class>
</listener>
<context-param>
    <param-name>resteasy.scan</param-name>
    <param-value>true</param-value>
</context-param>

共有1个答案

东方华荣
2023-03-14

您使用的是restEasy 3.0.+,因此使用类似singleton的设计模式来启动WebService。

@ApplicationPath("/mainPathToWebService")
public class singletonHelper extends Application {

    @SuppressWarnings("unchecked")
    public Set<Class<?>> getClasses() {
        return new HashSet<Class<?>>(Arrays.asList(MyResource.class));
    }

}
 类似资料:
  • 然而,有一个名为resteasy.scan的配置开关,对其进行了描述: “自动扫描WEB-INF/lib jar和WEB-INF/classes目录,查找@provider和JAX-RS资源类(@path、@get、@post等)并注册它们” ...所以,如果我想自动扫描我的资源,而不需要在web.xml中列出它们,或者必须手动将它们的类添加到扩展Application的类中的单例列表中...我应

  • 问题内容: 我在下面有这样的设置。这是一个简化的版本,但我认为它已涵盖了基本思想。我正在使用Jersey 2.16,Java 1.8和Glassfish Open Source 4.1 但是,当我部署并尝试访问Web服务时,我从安全上下文中得到了NullPointer异常。似乎根本没有注入上下文。我检查了这是secContext变量本身,而不仅仅是从getUserPrincipal()返回的nul

  • 问题内容: 我正在使用STS(eclipse插件)和maven开发Spring MVC应用程序。 为了创建项目,我遵循STS向导创建了一个新的“ Spring MVC项目”。之后,我向其他项目和库添加了一些依赖项。 但是,当我现在尝试将项目部署到STS的集成vFabric服务器时,有时会出现异常: 发出“ Maven清理”,然后进行“ Maven安装”并重新启动服务器时,有时不会引发异常,并且应用

  • 你好,我曾与JAX-WS合作开发基于SOAP的网络服务。现在我想使用REST,因为正如我从这里学习的那样,REST比SOAP有优势。 但从不同的文章中,我知道我们也可以从JAX-WS创建RESTful Web服务。但是大多数人说我们应该使用JAX-RS而不是JAX-WS。 我的问题是JAX-WS RESTful webservice和JAX-RS(泽西)之间有什么区别。JAX-RS相对于JAX-W

  • 问题内容: 我有以下class和web.xml文件。spring框架是否支持jax-rs注释,如和,…等。 换句话说我可以代替 Java: web.xml 问题答案: 不,您不能在春季使用批注。您可以在spring上使用类似的东西。这很容易。如果需要,我可以提供一个示例。(Jersey和CXF也具有良好的JAX- RS实现。) AFAIK Springsource不知道要提供JAX-RS的实现。因

  • 我对Jackson注释有一个问题,在《大部头1》中似乎被忽略了。我使用Jackson将REST响应序列化为JSON。我打开了设置: openejb。cxf。jax-rs.providers=org。科德豪斯。杰克逊。jaxrs。JacksonJsonProvider在系统中。属性 Jackson序列化工作正常,除了所有似乎被完全忽略的Jackson注释。事件像@JsonIgnore或@JsonPr