2012-02-22 98 views
1

我已經使用restEasy編寫了一個寧靜的服務並部署到了JBoss。我有一個web.xml玷污爲:部署到JBoss 7的Resteasy戰爭抱怨沒有發現「org.resteasy.plugins.server.servlet.ResteasyBootstrap」

<?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> 

然而,當我部署該war文件,它產生的錯誤信息:

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」。實際上,我已經深入瞭解War文件中部署的所有jar文件,並在「resteasy-jaxrs-2.3.1.GA」中找到了這個類。

這個班怎麼不能拿起來?我的web.xml有什麼問題嗎?

回答

0

JBoss 7帶有RESTEasy(主要)集成。通過包含您自己的resteasy-jaxrs-2.3.1.GA版本,您幾乎肯定會引發衝突。您也不需要在web.xml中使用任何RESTEasy servlet,現在該模塊會自動由JBoss 7加載。

+0

感謝您的回覆。我已經添加提供到我的POM中,以便再戰坦克不包含在戰爭文件中。但是,我仍然遇到同樣的錯誤。那我怎麼寫web.xml呢?我應該把它留空嗎? – Kevin 2012-02-22 21:12:02

+0

您(大部分)不需要JEE6中的web.xml。除了加載Spring的東西。除了Spring配置以外,什麼都取出。 – Perception 2012-02-22 21:34:40

2

它應該是:

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

,而不是:

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

在它被定義錯誤的文檔。