cvc-elt.1:找不到元素“ beans”错误的声明

时间:2019-04-29 19:33:18

标签: spring spring-batch

我编写了一个Spring Batch示例,之前运行良好,但是在更换笔记本电脑之后,安装了Eclipse打开了项目,当我运行它时,它在xml配置文件中给出了一个错误:找不到元素'beans'的声明。在Google花费大量时间后,我不知道出现了什么错误,我们将不胜感激,如果您需要我可以提供的更多详细信息,我会给出相关的代码,以示简短询问。

incomeRspnsVerifierJob.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:batch="http://www.springframework.org/schema/batch"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:jdbc="http://www.springframework.org/schema/jdbc"

       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/tx
                       http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
                       http://www.springframework.org/schema/context
                      http://www.springframework.org/schema/context/spring-context-3.2.xsd"> 

    <bean class="org.springframework.batch.test.JobLauncherTestUtils"/>

        <bean id="readIdntfr" class="ca.gc.cfp.de.tasklets.ReadIdntfr">

    </bean>

    <!-- <batch:job id="jobIncmRspns">
      <batch:step id="step1" >
          <batch:tasklet >
             <ref bean="readIdntfr"></ref>
          </batch:tasklet>
      </batch:step>
    </batch:job> -->
    <bean id="rcrdIdntfDecider"    class="ca.gc.cfp.de.deciders.RecordIdentiferDecider"></bean>
    <bean id="rcrdIdntfrFailed"    class="ca.gc.cfp.de.tasklets.RcrdIdntfrFailed"></bean>
    <bean id="rcrdIdntfrCompleted" class="ca.gc.cfp.de.tasklets.RcrdIdntfrCompleted"></bean>

    <batch:job id="jobIncmRspns">

     <batch:decision decider="rcrdIdntfDecider" id="rcrdIdntfrDecision">
        <batch:next on="FAILED" to="rcrdIdntfrFailedStep"/>
        <batch:next on="COMPLETED" to="rcrdIdntfrCompletedStep"/>
      </batch:decision>

      <batch:step id="rcrdIdntfrFailedStep">   
        <batch:tasklet>
          <ref bean="rcrdIdntfrFailed"></ref>
        </batch:tasklet>
      </batch:step>

      <batch:step id="rcrdIdntfrCompletedStep">  
        <batch:tasklet>
          <ref bean="rcrdIdntfrCompleted"/>
        </batch:tasklet>
      </batch:step>
    </batch:job>


</beans>

eclipse中的控制台登录:

Apr 29, 2019 3:13:11 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7ba18f1b: startup date [Mon Apr 29 15:13:11 EDT 2019]; root of context hierarchy
Apr 29, 2019 3:13:11 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [spring/batch/jobs/incomeRspnsVerifierJob.xml]
Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 12 in XML document from class path resource [spring/batch/jobs/incomeRspnsVerifierJob.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 94; cvc-elt.1: Cannot find the declaration of element 'beans'.
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:399)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:252)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:614)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:515)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at ca.gc.cfp.de.main.IncmRspnsMain.main(IncmRspnsMain.java:21)
Caused by: org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 94; cvc-elt.1: Cannot find the declaration of element 'beans'.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1901)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:741)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:374)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:613)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3132)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:852)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:76)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadDocument(XmlBeanDefinitionReader.java:429)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
    ... 14 more

1 个答案:

答案 0 :(得分:0)

我通过添加来解决此错误:

http://www.springframework.org/schema/batch
  http://www.springframework.org/schema/batch/spring-batch.xsd

到xml配置文件:incomeRspnsVerifierJob.xml中的xsi:schemaLocation