복붙노트

[SPRING] 요소 'beans'의 선언을 찾을 수 없습니다.

SPRING

요소 'beans'의 선언을 찾을 수 없습니다.

spring-3.2.0.RC1.jar의 spring jar 파일을 가지고 여기에 제공된 튜토리얼에서 Apache ActiveMQ helloWorld 프로그램을 구현하려고한다. xml 구성 파일은 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns:jms="http://www.springframework.org/schema/jms"
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans"
    xsi:schemalocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/jms 
    http://www.springframework.org/schema/jms/spring-jms.xsd">

    <bean class="org.apache.activemq.command.ActiveMQQueue" id="destination">
        <constructor-arg value="TEST.Q1"></constructor-arg>
    </bean>

    <bean class="org.apache.activemq.ActiveMQConnectionFactory" id="connectionFactory"
        p:brokerurl="tcp://localhost:8161"></bean>

    <bean class="com.jms.helloworld.listner.MessageListenerImpl" id="simpleMessageListener">
        <bean
            class="org.springframework.jms.listener.DefaultMessageListenerContainer"
            id="jmsContainer">
            <property name="connectionFactory" ref="connectionFactory"></property>
            <property name="destination" ref="destination"></property>
            <property name="messageListener" ref="simpleMessageListener"></property>
        </bean>
    </bean>
</beans>    

본관:

public static void main(String[] args) throws JMSException {
        System.out.println("LISTNER STARTED");
        ApplicationContext context =  new FileSystemXmlApplicationContext("src/com/jms/helloworld/config/JMSConfig.xml");
    }

**Exception on console**


LISTNER STARTED
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 10 in XML document from file [/home/neal/workspace/ActiveMQListener/src/com/jms/helloworld/config/JMSConfig.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 61; cvc-elt.1: Cannot find the declaration of element 'beans'.
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:396)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
    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:131)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:451)
    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
    at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)
    at com.jms.helloworld.test.TestJMSListner.main(TestJMSListner.java:15)
Caused by: org.xml.sax.SAXParseException; lineNumber: 10; columnNumber: 61; cvc-elt.1: Cannot find the declaration of element 'beans'.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
    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:387)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:321)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1920)
    at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:709)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:376)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:602)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3080)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:899)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:239)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:288)
    at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
    ... 14 more

나는 콩에 무슨 문제가 있는지 모르겠다. 지금까지는 다른 질문에 대한 어떤 제안도 도움이되지 못한다. 어떤 도움이 필요합니까?

해결법

  1. ==============================

    1.Spring 3.1을 사용하고 있다고 가정 해 보자.

    Spring 3.1을 사용하고 있다고 가정 해 보자.

    <beans xmlns="http://www.springframework.org/schema/beans" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
    

    마지막 줄에 3.1을 사용하는 주요 Spring 버전으로 바꾸십시오. 의미 : Spring 버전 3.1.1이 있더라도 3.1.1 XSD가 없습니다.

  2. ==============================

    2.내 문제를 해결 한 다른 스레드에서 찾았습니다 ... 적은 네트워크로 인터넷 연결을 사용하고있었습니다.

    내 문제를 해결 한 다른 스레드에서 찾았습니다 ... 적은 네트워크로 인터넷 연결을 사용하고있었습니다.

    이 경우 url에서 xsd 파일을 복사하여 beans.xml 파일 옆에 놓고 xsi : schemaLocation을 다음과 같이 변경하십시오.

     <beans xmlns="http://www.springframework.org/schema/beans" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
    spring-beans-3.1.xsd">
    
  3. ==============================

    3.이 오류로 인해 'beans'요소 선언을 찾을 수 없지만 완전히 다른 이유가 있습니다.

    이 오류로 인해 'beans'요소 선언을 찾을 수 없지만 완전히 다른 이유가 있습니다.

    내 인터넷 연결이 매우 안정적이지 않으므로 처음에는이 URL을 확인하기로 결정했습니다.

    http://www.springframework.org/schema/context/spring-context-4.0.xsd

    일단 xsd가 성공적으로 열렸다는 것을 알았 으면 Eclipse (IDE) 프로젝트를 정리하면 오류가 사라졌습니다.

    이 단계를 시도해도 여전히 오류가 발생하면 Spring 버전을 확인하여 다른 답변에서 언급 한 것과 일치하도록하십시오.

    <beans xmlns="http://www.springframework.org/schema/beans" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-**[MAYOR.MINOR]**.xsd">
    

    마지막 줄의 [MAYOR.MINOR]를 사용중인 major.minor Spring 버전으로 바꿉니다.

    Spring 4.0 http://www.springframework.org/schema/context/spring-context-4.0.xsd

    Sprint 3.1의 경우 http://www.springframework.org/schema/beans 봄 콩 3.1.xsd

    모든 컨텍스트는 여기에서 사용할 수 있습니다. http://www.springframework.org/schema/context/

  4. ==============================

    4.이 코드를 추가하십시오 .. 그것은 나를 도왔습니다.

    이 코드를 추가하십시오 .. 그것은 나를 도왔습니다.

    <?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:context="http://www.springframework.org/schema/context" 
             xmlns:aop="http://www.springframework.org/schema/aop" 
             xsi:schemaLocation="
             http://www.springframework.org/schema/beans 
               classpath:/org/springframework/beans/factory/xml/spring-beans-3.0.xsd 
             http://www.springframework.org/schema/context 
             classpath:/org/springframework/context/config/spring-context-3.0.xsd
            http://www.springframework.org/schema/aop 
            classpath:/org/springframework/aop/config/spring-aop-3.0.xsd
             ">      
         </beans>
    
  5. ==============================

    5.xsi : schemaLocation의 www.springframework.org/schema/beans 참조에서이 문제가 있었고 근본 원인이 공백 (아래의 점으로 표시)으로 판명되었습니다.

    xsi : schemaLocation의 www.springframework.org/schema/beans 참조에서이 문제가 있었고 근본 원인이 공백 (아래의 점으로 표시)으로 판명되었습니다.

    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="
    http://www.springframework.org/schema/beans....
    http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-4.2.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd">
    
  6. ==============================

    6.This-Spring 4.0을 사용해보십시오. 일

    This-Spring 4.0을 사용해보십시오. 일

    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:p="http://www.springframework.org/schema/p"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context" 
           xsi:schemaLocation="http://www.springframework.org/schema/beans                                               http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/context 
           http://www.springframework.org/schema/context/spring-context.xsd"> 
    
  7. ==============================

    7.이를 사용하여 문제를 해결하십시오.

    이를 사용하여 문제를 해결하십시오.

    <context:annotation-config/>
    
  8. from https://stackoverflow.com/questions/13814321/cannot-find-the-declaration-of-element-beans by cc-by-sa and MIT license