Spring JBoss AS 7.1.1 中的应用程序:意外元素:bean

Spring application in JBoss AS 7.1.1: Unexpected element: beans

我正在尝试将一个小型 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 它,但到目前为止运气不好。有什么想法吗?

您的 war 部署中可能有一些名为 *-ds.xml 的文件。

可能在 WEB-INF 目录中 WildFly (& jboss as7+) 威胁将此文件作为数据源定义,因此它需要某些 xml 结构。

在你的情况下,这个文件中可能还有它无法理解的其他内容。 最好的方法是删除此文件或将其重命名为不是 *-ds.xml 如果您的应用程序中的某些 config/resource 需要它。

对于名为“-jms.xml”的文件,出现相同的异常 "Unexpected element: beans"。这是在 JBOSS 6 EAP 中部署现有应用程序时发生的,其中包含与 JMS 相关的其他更改。 JMS 相关的 spring beans 被添加到名为“-jms.xml”的新文件中。如前所述,jboss 期望为名为 -jms.xml' 的文件定义结构。从文件名中删除“-jms”解决了这个问题。可以在此处找到有关“-jms.xml”文件的文档 https://docs.jboss.org/author/display/AS71/Messaging+configuration

错误消息和根本原因与“-ds.xml”文件相同,因此post在此post下寻找答案。有关“-ds.xml”的类似文档可在此处找到 https://docs.jboss.org/author/display/AS71/DataSource+configuration.