java.lang.RuntimeException:RESTEASY003130:类不是根资源。错误

问题描述 投票:0回答:1

我的java项目从一开始就使用resteasy版本3.1.4.Final。但现在,我想升级到 3.14.0.Final 或升级到最新且不易受攻击的版本。但暂时我已经升级到3.14.0.Final了。自从我升级后,我在 tomcat 中收到此错误 -

java.lang.RuntimeException: RESTEASY003130: Class is not a root resource...... 

当我运行我在 JMeter 中创建的一些 JMX 时,等等。

完整错误如下所示 -

{http-nio-38080-exec-1} ERROR : Servlet.init() for servlet [Resteasy] threw exception
java.lang.RuntimeException: RESTEASY003130: Class is not a root resource.  It, or one of its interfaces must be annotated with @Path: com.app.resource.current.AppInstanceResource implements:
        at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:185) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:164) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.core.ResourceMethodRegistry.addPerRequestResource(ResourceMethodRegistry.java:81) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:503) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.spi.ResteasyDeployment.startInternal(ResteasyDeployment.java:288) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:93) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:140) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:42) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1164) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1117) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:788) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[catalina.jar:9.0.65]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[catalina.jar:9.0.65]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:9.0.65]
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[catalina.jar:9.0.65]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[catalina.jar:9.0.65]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:9.0.65]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:9.0.65]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.65]
        at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_202]
16:49:05.320 [Resteasy] {http-nio-38080-exec-1} ERROR : Allocate exception for servlet [Resteasy]
java.lang.RuntimeException: RESTEASY003130: Class is not a root resource.  It, or one of its interfaces must be annotated with @Path: morpho.ccmid.b2b.resource.current.AppInstanceResource implements:
        at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:185) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.core.ResourceMethodRegistry.addResourceFactory(ResourceMethodRegistry.java:164) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.core.ResourceMethodRegistry.addPerRequestResource(ResourceMethodRegistry.java:81) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.spi.ResteasyDeployment.registration(ResteasyDeployment.java:503) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.spi.ResteasyDeployment.startInternal(ResteasyDeployment.java:288) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:93) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:140) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:42) ~[resteasy-jaxrs-3.14.0.Final.jar:3.14.0.Final]
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1164) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1117) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:788) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:128) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[catalina.jar:9.0.65]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[catalina.jar:9.0.65]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:9.0.65]
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687) ~[catalina.jar:9.0.65]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[catalina.jar:9.0.65]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360) ~[catalina.jar:9.0.65]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:9.0.65]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-util.jar:9.0.65]
        at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-util.jar:9.0.65]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.65]
        at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_202]

注意:我发现了类似的问题,其中给出了在 web.xml 中添加 SpringContextLoaderListener 的解决方案,但这对我没有帮助。当我的模块加载时,它在运行时再次在 tomcat 中抛出一些错误。该错误说明了一些内容 - classNotFoundException : SpringContextLoaderListener not found 等等 .....

请帮忙,如何解决此错误并摆脱此错误并将版本升级到3.14.0.Final。

我已经尝试了这个问题的解决方案RESTEasy - Resource Class Register Failed when @Path is Marked in the Interface,但这没有帮助。

请有人建议一个更适合我的工作的新的更好的解决方案。预先感谢。

java resteasy
1个回答
0
投票

而不是

import javax.ws.rs.*;
切换到使用
import jakarta.ws.rs.*;
- 这对我来说是这样。从 Maven 相应地更新您的依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.