2012-12-11 160 views
21

私はspring-3.2.0.RC1.jarのスプリングジャーを持っており、チュートリアルhereからApache ActiveMQhelloWorldプログラムを実装しようとしています。 XML設定ファイルは次のとおりです。要素「beans」の宣言が見つかりません

<?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 

私はこれまで、他の問題のいずれかの提案が助けにはならないbeans.Soと間違っているかわかりません。どんな助け?

+2

xmlバリデーターはが有効な要素ではないと訴えています。これは、外部XMLサイトで検証されます。あなたがいる場所からhttp://www.springframework.org/schema/beans/spring-beans.xsdを開くことができますか?ローカルヘルプをコピーしていますか?ファイアウォールの問題になる可能性があります – BevynQ

+0

はこのような理由だろう[取得-エラーメッセージとスプリング-CVC-ELT-1-でき-見つけることができません-宣言-のを-ELE] [1] [1]:のhttp:/ /stackoverflow.com/questions/10182857/getting-error-message-with-spring-cvc-elt-1-cannot-find-the-declaration-of-ele?rq=1 – Parvez

答えて

29

あなたは春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を交換してください。意味:3.1.1の春バージョンがあっても、3.1.1 XSDはありません。

+10

ちょうど明示的に:一致する必要がありますあなたの春のライブラリのバージョンとXSDのバージョン。 – Stefan

+0

spring-beansパッケージのorg.springframework.beans.factory.xmlのオプションを参照してください。 –

7

私の問題を解決した別のスレッドでそれを見つけました...インターネット接続が少ないネットワークを使用していました。その場合

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"> 
+1

コピーする必要はありません。 xsdはすでにjarファイルに入っています。このような何か作業をする必要があります: のxsi:schemaLocationの= "http://www.springframework.org/schema/beans クラスパス:ORG/springframework /豆/工場/ XML /春豆-4.1.xsd \t \t \t http://www.springframework.org/schema/context \t \t \tクラスパス:org/springframework/context/config/spring-context-4.1.xsd "> –

+0

addindクラスパス:aginst xsdは私のために働いた – MAX

1

豆は

まったく違う理由でそれは私のインターネット接続が非常に信頼性がありませんでしたアウトtursので、私はこのURLの最初にチェックすることを決めた

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

私はXSDが開いていたことを見たら

は正常に私は、Eclipse(IDE)プロジェクトをきれいにし、あなたは、この手順を試してみて、それでも述べたように、それが一致するように、春のバージョンを確認 その後、エラーが発生した場合、エラーが

を行いました。別の答えで

<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"> 

あなたは春4.0 http://www.springframework.org/schema/context/spring-context-4.0.xsd

について

を使用しているものは何でもメジャー。マイナー春バージョンとの最後の行に[MAYOR.MINOR]置き換え0

スプリント3.1 http://www.springframework.org/schema/beans 春豆-3.1.xsdについて

すべてのコンテキストがここ http://www.springframework.org/schema/context/

0

可能です私はこの問題を持っていた根本的な原因は空白であることが判明した(ように示さすなわち

<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"> 
-1

使用これはあなたの問題を解決するためのschemaLocation、::XSIでwww.springframework.org/schema/beans参照した後、以下のドット)

<context:annotation-config/> 
1

このコードを追加してくださいそれは助けてくれました

<?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> 
関連する問題