我正在尝试将一个小型Web应用程序从Tomcat 7迁移到JBoss AS 7.1.1.Final。它基于Spring Framework 3.2.16.RELEASE,并且在Tomcat 7中运行良好。
但是,当我将其部署到JBoss时,出现以下错误:
16:23:24,973 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start service jboss.deployment.unit."myapp.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."myapp.war".PARSE: Failed to process phase PARSE of deployment "myapp.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.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:1145) [rt.jar:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: IJ010061: Unexpected element: beans
at org.jboss.as.connector.deployers.processors.DsXmlDeploymentParsingProcessor.deploy(DsXmlDeploymentParsingProcessor.java:85)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
... 5 more
Caused by: org.jboss.jca.common.metadata.ParserException: IJ010061: Unexpected element: beans
at org.jboss.jca.common.metadata.ds.DsParser.parse(DsParser.java:123)
at org.jboss.jca.common.metadata.ds.DsParser.parse(DsParser.java:82)
at org.jboss.as.connector.deployers.processors.DsXmlDeploymentParsingProcessor.deploy(DsXmlDeploymentParsingProcessor.java:80)
... 6 more
我尝试用Google搜索它,但到目前为止还没有运气。有什么主意吗?
您在战争部署中可能有一个名为* -ds.xml的文件。
可能在WEB-INF目录中WildFly(&jboss as7 +)威胁该文件作为数据源定义,因此它期望某些xml结构。
如果您在此文件中可能还有其他无法理解的内容。最好的方法是删除此文件,或者如果需要在应用程序中使用某些配置/资源,则将其重命名为* -ds.xml。
对于名为“ -jms.xml”的文件,具有相同的异常“意外元素:beans”。这是在JBOSS 6 EAP中部署现有应用程序以及与JMS相关的其他更改时发生的。与JMS相关的spring bean已添加到名为'-jms.xml'的新文件中。如前所述,jboss期望为名为-jms.xml'的文件定义结构。从文件名中删除“ -jms”可解决此问题。可以在此处找到有关'-jms.xml'文件的文档https://docs.jboss.org/author/display/AS71/Messaging+configuration。
错误消息和根本原因与'-ds.xml'文件相同,因此在此帖子下发布答案。可以在[https://docs.jboss.org/author/display/AS71/DataSource+configuration]中找到关于'-ds.xml'的类似文档。