gpt4 book ai didi

java - 在 Jetty 应用程序中找不到 Resteasy 资源

转载 作者:行者123 更新时间:2023-11-30 11:23:25 25 4
gpt4 key购买 nike

我在嵌入式 jetty 服务器 (v.8) 中运行一个包含多个组件(JSP、resteasy、CDI、REST、Struts、maven)的应用程序,但我遇到了一个问题,即找不到我的 REST 资源。当应用程序启动时,我可以看到正在发现 REST 资源,并且当我点击网页时应用程序找不到的资源也在那里。我错过了什么?谢谢!

[org.jboss.resteasy.cdi.ResteasyCdiExtension] 发现了 CDI bean,它是一个 JAX-RS 资源 com.mycompany.rs.SiteResource。”

我的 pom.xml 中有以下 resteasy 依赖项:

    <dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<version>2.3.2.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>2.3.2.Final</version>
</dependecy>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-servlet-initializer</artifactId>
<version>2.3.2.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-cdi</artifactId>
<version>2.3.2.Final</version>
</dependency>

我的 web.xml 中有以下内容:

<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/api</param-value>
</context-param>

<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
</listener-class>
</listener>

<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>

Java rest 资源具有以下路径注释:

@Path("/site")

我正在访问的 url 如下所示:

http://localhost:9797/mycompany/api/site

这是我得到的错误:

2014-01-19 23:18:20,989 ERROR 755 [com.mycompany.rs.RestError] Unknown exception or error: org.jboss.resteasy.spi.NotFoundException: Could not find resource for relative : /site of full path: http://localhost:9797/mycompany/api/site?_=1390202300961

最佳答案

我意识到问题出在哪里 - 我正在通过 eclipse 运行这个应用程序,resteasy 正在寻找 src/webapp/WEB-INF/classes 中的资源类,但我的构建输出文件夹是 eclipse 默认的 target/classes。

关于java - 在 Jetty 应用程序中找不到 Resteasy 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21228374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com