【问题标题】:getting exception Cannot find the declaration of element 'beans' in spring获取异常在春季找不到元素“bean”的声明
【发布时间】:2016-02-21 14:16:32
【问题描述】:

我收到此异常,这是由于我使用的 xsd 不正确,请告知如何克服此问题

下面是我正在使用的xsd

<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:int="http://www.springframework.org/schema/integration"
        xmlns:jms="http://www.springframework.org/schema/integration/jms"
        xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms.xsd
            http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
            http://www.springframework.org/schema/integration/jms http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.4.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> 

以下是我正在使用的罐子

<classpathentry kind="src" path="src"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/crimson.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/jaxp.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/jcert.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/jms.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/jndi.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/jnet.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/jsse.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/jta-spec1_0_1.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/tibcrypt.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/tibjms.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/tibjmsadmin.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/tibjmsapps.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/tibrvj.jar"/>
        <classpathentry kind="lib" path="C:/Release12/lib/thirdparty/tibco-ems/4.2.0/tibrvjms.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring-jms.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/commons-lang-2.6.jar/commons-lang-2.6.jar"/>
        <classpathentry kind="lib" path="C:/tibco/log4j-1.2.9.jar"/>
        <classpathentry kind="lib" path="C:/tibco/spring-context-2.0.4.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/org-apache-commons-logging.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-core-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-event-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-feed-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-file-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-ftp-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-groovy-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-http-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-httpinvoker-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-ip-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-jdbc-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-jms-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-jmx-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-mail-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-rmi-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-security-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-sftp-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-stream-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-test-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-twitter-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-ws-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-xml-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring integration/spring integration/spring-integration-xmpp-2.0.5.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/org.springframework.jms-3.1.0.M1.jar/org.springframework.jms-3.1.0.M1.jar"/>
        <classpathentry kind="lib" path="C:/xerces.jar/xerces.jar"/>
        <classpathentry kind="lib" path="C:/xercesImpl.jar/xercesImpl.jar"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre7"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring-core-3.1.1.RELEASE.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring-2.5.jar"/>
        <classpathentry kind="lib" path="C:/abcsaral/sprintintegrationn/spring-beans-3.0.5.RELEASE.jar"/>

我得到的例外是

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 11 in XML document from class path resource [jms-spring-context.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: Cannot find the declaration of element 'beans'.
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:369)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:313)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:290)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:158)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:184)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:112)
        at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:79)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:100)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
        at com.apress.prospringintegration.test.main(test.java:23)
    Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 116; cvc-elt.1: Cannot find the declaration of element 'beans'.

请大家指教如何解决这个问题,这个问题是否与类路径有关

【问题讨论】:

    标签: spring spring-integration


    【解决方案1】:

    您的默认命名空间似乎是 bean。我猜你在第 11 行有 beans:bean,只需使用没有 beans 前缀 (bean class="....")

    <beans xmlns="http://www.springframework.org/schema/beans"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:int="http://www.springframework.org/schema/integration"
    

    HTH

    【讨论】:

    • 感谢您的建议,但仍然无法掌握,请您更正我上面的示例,这将有助于更好地理解
    【解决方案2】:
    1. 对 Spring 命名空间使用“无版本”XSD 定义。

    2. 尽量使用最新的 Spring jars 版本。

    3. 首先看起来你有一个版本混乱,从另一面来看,所有这些都太旧了,已经停止维护了。

    4. 无论如何,您都应该显示您的下游 XML。 Manespace 定义不足以确定该问题。

    5. 尝试从标签中清除您的 XML 并一一恢复以​​抓住肇事者。

    6. 从另一方面看,这可能只是一个 Eclip 问题,当为项目打开 Spring Nature 时应该可以解决问题。

    【讨论】:

    • 我的意思是清理你的 XML 配置,只留下命名空间定义。比恢复您的 XML 标记,直到您没有遇到同样的问题。
    猜你喜欢
    • 2012-11-28
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多