Война Resteasy, развернутая на JBoss 7, жалуется, что "org.resteasy.plugins.server.servlet.ResteasyBootstrap" не найден - PullRequest
1 голос
/ 23 февраля 2012

У меня есть служба restful, написанная с использованием restEasy и развернутая в JBoss.У меня есть файл web.xml, дефилированный как:

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
    <display-name>Web Application</display-name>

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

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

    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

</web-app>

Однако, когда я развертываю этот файл войны, он выдает сообщение об ошибке:

20:06:46,225 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC00001: Failed to start service jboss.deployment.unit."orderservice-develop
er.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."orderservice-developer.war".POST_MODULE: Failed to process
 phase POST_MODULE of deployment "orderservice-developer.war"
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.0.Final.jar:7.1.0
.Final]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_03]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_03]
        at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_03]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS011093: Could not load component class org.resteasy.plugins.server.se
rvlet.ResteasyBootstrap
        at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:113)
        at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.deploy(InterceptorAnnotationProcessor.java:54)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.0.Final.jar:7.1.0
.Final]
        ... 5 more
Caused by: java.lang.ClassNotFoundException: org.resteasy.plugins.server.servlet.ResteasyBootstrap from [Module "deployment.orderservice-developer.war
:main" from Service Module Loader]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
        at org.jboss.as.ee.component.deployers.InterceptorAnnotationProcessor.processComponentConfig(InterceptorAnnotationProcessor.java:111)
        ... 7 more

Похоже, он не может найти класс"org.resteasy.plugins.server.servlet.ResteasyBootstrap".На самом деле я покопался во всех моих jar-файлах, развернутых в файле war, и обнаружил этот класс внутри "resteasy-jaxrs-2.3.1.GA".

Почему этот класс не может быть найден?Что-то не так с моим web.xml?

Ответы [ 2 ]

2 голосов
/ 01 декабря 2013

Должно быть:

<listener-class>org.jboss.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>

а не:

<listener-class>org.resteasy.plugins.spring.SpringContextLoaderListener</listener-class>

В документации это определено неправильно.

0 голосов
/ 23 февраля 2012

JBoss 7 поставляется с интегрированной RESTEasy (в основном).Включая собственную версию resteasy-jaxrs-2.3.1.GA, вы почти наверняка вызываете конфликты.Вам также не нужны никакие сервлеты RESTEasy в вашем web.xml, модуль автоматически загружается JBoss 7. Теперь

...