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

Posted

技术标签:

【中文标题】JBoss AS 7.1.1 中的 Spring 应用程序:意外元素:bean【英文标题】:Spring application in JBoss AS 7.1.1: Unexpected element: beans 【发布时间】:2016-04-17 07:19:56 【问题描述】:

我正在尝试将小型 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

我试图用谷歌搜索它,但到目前为止没有运气。有什么想法吗?

【问题讨论】:

您的部署中是否有任何名为 *-ds.xml 的文件? 是的,我愿意……嗯,奇怪的功能。谢谢你的提示。现在它起作用了。请将其发布为接受它的答案 【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

对于名为“-jms.xml”的文件,出现了相同的异常“意外元素:bean”。这是在 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”文件相同,因此在此帖子下发布答案。 '-ds.xml' 的类似文档可以在这里找到https://docs.jboss.org/author/display/AS71/DataSource+configuration。

【讨论】:

以上是关于JBoss AS 7.1.1 中的 Spring 应用程序:意外元素:bean的主要内容,如果未能解决你的问题,请参考以下文章

无法在jboss AS 7.1.1中部署war文件

JBoss AS7部署插件(jboss-as-maven-plugin)

JBoss AS 7.1.1.Final:java.lang.ClassNotFoundException:javax.xml.bind.annotation.adapters.HexBinaryAd

如何将X-Frame-Options标头设置为Jboss-as-7.1.1.Final?要求是在服务器的欢迎页面中设置此标头

JBoss 7 配置成windows启动服务

在Windows 7 64位上启动JBoss 7.1.1时出错