2012-09-10 14 views
6

मैं अपने काम में एक पूर्व कर्मचारी द्वारा छोड़ी गई प्रणाली को चलाने की कोशिश कर रहा हूं, लेकिन मुझे इसे करने में समस्याएं आ रही हैं।स्प्रिंग एक्सएसडी की पहुंच त्रुटि

XSD दूरदराज के उपयोग से चलाता है:

Failed to read schema document 'http://www.springframework.org/schema/context/spring-context-3.0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>. 

और अगर XSD स्थानीय उपयोग से चलाता है:

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans 
      classpath:org/springframework/beans/factory/xml/spring-beans-3.0.xsd 
      http://www.springframework.org/schema/tx 
      classpath:org/springframework/transaction/config/spring-tx-3.0.xsd 
      http://www.springframework.org/schema/context 
      classpath:org/springframework/context/config/spring-context-3.0.xsd 
      http://www.springframework.org/schema/tool 
      classpath:org/springframework/beans/factory/xml/spring-tool-3.0.xsd"> 
यह

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    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-3.0.xsd 
          http://www.springframework.org/schema/aop 
          http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
          http://www.springframework.org/schema/tx 
          http://www.springframework.org/schema/tx/spring-tx.xsd"> 

यह एक अपवाद नहीं मिला देता है यह अपवाद देता है:

C:\Users\claudiomazur>java -jar c:\temp\fin\c.jar 
0 [AWT-EventQueue-0] INFO support.ClassPathXmlApplicationContext - Refreshing org[email protected]4fa52fdf: startup date [Thu Sep 06 
11:22:59 BRT 2012]; root of context hierarchy 
45 [AWT-EventQueue-0] INFO xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [context.xml] 
Exception in thread "AWT-EventQueue-0" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for 
XML schema namespace [http://www.springframework.org/schema/context] 
Offending resource: class path resource [context.xml] 

     at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68) 

इस समस्या को हल करने के लिए कुछ विचार?

बिग गले !!

+0

क्या XML पार्सर आवेदन में उपयोग करता है? – user1516873

+0

मुझे इस बारे में कोई जानकारी नहीं है। – claudioivp

उत्तर

9

वसंत एक्सडीएस परिभाषित और वसंत जार के साथ भेज दिया गया है! उदाहरण के लिए spring-context.jar में spring-context-3.0.xsd शामिल है। (देखें spring-context.jar /META-INF/spring.schema)

तो जांचें कि आपके पास इस परियोजना में यह जार है।

तो जिसे आप "रिमोट" कहते हैं, वास्तव में दूरस्थ नहीं है! और मैंने कभी नहीं देखा है कि आपको "स्थानीय पहुंच" कहा जाता है, इसलिए मैं यह जांचने की कोशिश करता हूं कि क्यों "रिमोट" (जो दूरस्थ नहीं है) सामान सभी xsds के लिए काम करता है लेकिन बसंत-संदर्भ।


यदि यह एक डेस्कटॉप कार्यक्रम है और आप एक ही जार कि अन्य सभी विस्फोट जार शामिल उपयोग करते हैं, तो आप एक देखभाल की जरूरत है कि विभिन्न वसंत-xxx से एकल spring.handlers और spring.schames फ़ाइलों की सामग्री .jar (दो) "शिकारी" फाइलों में सम्मिलित है। ताकि अंत में (दो) फ़ाइलों में सभी स्कीमा नाम और हैंडलर नाम शामिल हों।

+0

मुझे लगता है कि हाँ, यह निर्भरता में: 'code' org.springframework वसंत संदर्भ 3.0.6.RELEASE ' code' – claudioivp

+0

@ user1618606: मेरा मतलब है वास्तव में जाँच! जांचें कि यह फ़ाइल आपके सर्वर – Ralph

+0

हां पर तैनात WAR के भीतर है ... यह पूर्ण पथ पर है: सी: \ उपयोगकर्ता \ claudiomazur \ .m2 \ repository \ org \ springframework \ spring-context \ 3.0.6.RELEASE \ वसंत-संदर्भ-3.0.6.RELEASE.jar – claudioivp

2

रन 0getचलाने का प्रयास करें।

should be something like: wget http://www.springframework.org/schema/context/spring-context-3.0.xsd 
--2012-09-10 15:56:05-- http://www.springframework.org/schema/context/spring-context-3.0.xsd 
Resolving www.springframework.org... 205.140.197.88 
Connecting to www.springframework.org|205.140.197.88|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 19651 (19K) [text/xml] 
Saving to: “spring-context-3.0.xsd” 

100%[=====================================================================>] 19,651  24.6K/s in 0.8s  

2012-09-10 15:56:06 (24.6 KB/s) - “spring-context-3.0.xsd” saved [19651/19651] 

यदि आपको xsd स्कीमा प्राप्त करने में कोई समस्या है, तो यह स्कीमा विरासत में मिली XML फ़ाइलों के साथ काम करना मुश्किल हो जाता है।

दूसरे मामले में आप बस स्प्रिंग - * - 3.0.xsd फ़ाइलों में से किसी भी वर्गपथ में नहीं हैं।

+0

@ राल्फ हाँ, आप rigth। लेकिन प्रश्न व्यवहार में वर्णित सामान्य नहीं है। ऐसा लगता है कि पार्सर मेटा-इंफ – user1516873

+0

में परिभाषित नहीं करता है, मेरी गलती क्षमा करें, मैंने आपका जवाब सही नहीं पढ़ा है, मुझे उम्मीद है कि आप xsd फ़ाइल को जांचने का सुझाव देते हैं। – Ralph

+0

मैंने सभी इंटरनेट सुरक्षा को अक्षम कर दिया है, और अब यह xsd तक पहुंच रहा है ... लेकिन अब यह अंतिम अपवाद देता है: एक्सएमएल स्कीमा नेमस्पेस के लिए स्प्रिंग नेमस्पेस हैंडलर का पता लगाने में असमर्थ [http://www.springframework.org/schema/context ] अपमानजनक संसाधन: कक्षा पथ संसाधन [context.xml] – claudioivp

3

यह सच है कि स्प्रिंग एक्सएसडी को जार के साथ भेज दिया जाता है।

जानकारी जहां इन XSD के जमा हो जाती है:

  1. एक्सएमएल फ़ाइल में कहते हैं कि चलो, हम सेम नाम स्थान का इस्तेमाल किया है और हम

    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    
  2. पर गौर करने के लिए फ़ाइल की जांच करें की जरूरत है " वसंत-स्कीमा "स्प्रिंग-बीन्स-4.0.1.RELEASE.jar मेटा-आईएनएफ फ़ोल्डर में।इस फ़ाइल से नमूना संदर्भ होना चाहिए:

    http\://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
    =org/springframework/beans/factory/xml/spring-beans-4.0.xsd 
    
    http\://www.springframework.org/schema/beans/spring-beans.xsd 
    =org/springframework/beans/factory/xml/spring-beans-4.0.xsd 
    
  3. इस प्रकार

     http\://www.springframework.org/schema/beans/spring-beans.xsd is mapped to  
        org/springframework/beans/factory/xml/spring-beans-4.0.xsd 
    

    अपने जार

संबंधित मुद्दे