2012-12-11 22 views
21

की घोषणा नहीं मिल पा रहा है मेरे पास spring-3.2.0.RC1.jar का वसंत जार है और helloWorld प्रोग्राम को here दिए गए ट्यूटोरियल से लागू करने का प्रयास कर रहा है। एक्सएमएल विन्यास फाइल है:तत्व 'बीन्स'

<?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 सत्यापनकर्ता शिकायत कर रहा है कि मान्य तत्व नहीं है। यह बाहरी एक्सएमएल साइट में मान्य है। क्या आप http://www.springframework.org/schema/beans/spring-beans.xsd को कहां से खोल सकते हैं? क्या यह स्थानीय मदद की प्रतिलिपि बनाता है? फ़ायरवॉल मुद्दा हो सकता है। – BevynQ

+0

इस कारण हो सकता है [रही-त्रुटि संदेश-साथ वसंत-सीवीसी-ELT-1-नहीं कर सकते खोज--घोषणा के-हाथी] [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 है।

+10

बस स्पष्ट होने के लिए: आपको मिलान करना होगा एक्सएसडी संस्करण के साथ आपका वसंत पुस्तकालय संस्करण। – Stefan

+0

वसंत-सेम पैकेज के org.springframework.beans.factory.xml में विकल्पों को देखें। –

7

इसे मेरी समस्या हल करने वाले किसी अन्य थ्रेड पर मिला ... इंटरनेट कनेक्शन कम नेटवर्क का उपयोग कर रहा था।

उस मामले में यूआरएल से 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

कॉपी करने की कोई आवश्यकता नहीं है। एक्सएसडी पहले से ही जार में है। कुछ इस तरह काम करना चाहिए: xsi: schemaLocation = "http://www.springframework.org/schema/beans classpath: org/springframework/सेम ​​/ कारखाना/xml/वसंत-सेम-4.1.xsd \t \t \t http://www.springframework.org/schema/context \t \t \t क्लासपाथ: ओआरजी/वसंतफ्रेमवर्क/संदर्भ/कॉन्फ़िगर/वसंत-संदर्भ-4.1.xsd "> –

+0

addind classpath: aginst xsd मेरे लिए काम किया – MAX

1

की यह त्रुटि तत्व की घोषणा 'नहीं मिला बीन्स 'लेकिन एक पूरी अलग कारण

यह पता turs मेरे इंटरनेट कनेक्शन बहुत विश्वसनीय नहीं था, इसलिए मैं इस यूआरएल

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

के लिए पहले की जाँच करने का निर्णय लिया के लिए

एक बार मैंने देखा कि XSD खुला था सफलतापूर्वक मैं ग्रहण (आईडीई) परियोजना को साफ और त्रुटि

चला गया था तो आप इस चरणों का प्रयास है और अभी भी रूप में उल्लेख किया तो त्रुटि मिलती है इतना है कि यह मेल खाता स्प्रिंग संस्करण की जांच हैं एक और उत्तर से

<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] कि आप

उपयोग कर रहे हैं स्प्रिंग 4.0 के लिए http://www.springframework.org/schema/context/spring-context-4.0.xsd

बदलें जो कुछ MAJOR.MINOR स्प्रिंग संस्करण के साथ अंतिम पंक्ति पर 0

स्प्रिंट 3.1 के लिए http://www.springframework.org/schema/beans वसंत-सेम-3.1.xsd

सभी संदर्भों यहां उपलब्ध हैं http://www.springframework.org/schema/context/

0

मैं इस मुद्दे को और मूल कारण निकला सफेद-अंतरिक्ष होना ही था (के रूप में दिखाया नीचे डॉट्स) में xsi www.springframework.org/schema/beans संदर्भ के बाद: schemaLocation, यानी

<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

उपयोग इस अपनी समस्या को हल करने के लिए:

<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> 
संबंधित मुद्दे