2011-05-09 16 views
10

से XML दस्तावेज़ को पार्स करना ठीक है, मैं वर्तमान में एक प्रोजेक्ट मैवेन्यूज़ की कोशिश कर रहा हूं। हालांकि मेरी परियोजना कुछ बीन्स युक्त एक्सएमएल फ़ाइल को खोजने में विफल रही है। हालांकि एक कारण मुझे के नाम एक अज्ञात मैं लगातार त्रुटि मिलती है के लिएIOException क्लास पथ संसाधन

public RepeatingGrpPoC() { 
    appContext = new ClassPathXmlApplicationContext(
      new String[] { "src/main/java/resources/combined2.xml",}); 
    c = 0;  
} 

: combined2.xml

मैं इसे के रूप में परिभाषित किया है।

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [src/main/java/resources/combined2.xml]; nested exception is java.io.FileNotFoundException: class path resource [src/main/java/resources/combined2.xml] cannot be opened because it does not exist 
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341) 
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302) 
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) 
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212) 
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:126) 
at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:92) 
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130) 
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:465) 
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:395) 
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) 
at metadataPoC.RepeatingGrpPoC.<init>(RepeatingGrpPoC.java:34) 
at metadataPoC.Main.main(Main.java:22) 

की वजह से: java.io.FileNotFoundException: वर्ग पथ संसाधन [src/मुख्य/जावा/संसाधन/combined2.xml] क्योंकि यह org.springframework.core.io पर मौजूद नहीं है खोला नहीं जा सकता। ClassPathResource.getInputStream (ClassPathResource.java:141) org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions (XmlBeanDefinitionReader.java:328) पर ... 14 अधिक

और कहाँ कार्यक्रम की तलाश की जाएगी यह फ़ाइल क्योंकि मैंने इसे सापेक्ष पथ दिया है?

+1

यह इस पद्धति '" src/मुख्य/संसाधन/combined2.xml "का आम तौर पर नहीं है ' –

उत्तर

27

यह इस फ़ाइल को क्लासपाथ से लोड करने का प्रयास कर रहा है और इसे नहीं मिला। "src/main/java/resources/combined2.xml" के बजाय बस "combined2.xml" निर्दिष्ट करने का प्रयास करें और सुनिश्चित करें कि आपके क्लासपाथ पर src/main/java/संसाधन है।

वैसे, मैवेन में, संसाधनों के लिए मानक निर्देशिका src/main/resources है, इसलिए मेरा सुझाव है कि आप इस फ़ाइल को वहां रखें।

0

इस

appContext = new ClassPathXmlApplicationContext(
      new String[] { "/**/combined2.xml", "/**/xxx.xml"}); 
1

Maven का प्रयास करें, संसाधनों के लिए मानक निर्देशिका है जो src/मुख्य/संसाधन है, इसलिए यदि आप अपनी फ़ाइल यहाँ रख इसे ले जाएगा है। और पथ में बस फ़ाइल का नाम दें।

उदाहरण

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("application-context.xml"); 

के लिए मैं एक ही समस्या यह मेरे लिए काम किया था

0
You can use the relative path of the xml file. 
relative path: path relative to your package where the XML file is located. 

E.g. 
Assume, 
package = beanfactory, 
xml file name = application-context.xml, 
and xml file in under this package. 
then provide the path as "/beanfactory/application-context.xml" 
ApplicationContext factory=new 
ClassPathXmlApplicationContext("/beanfactory/application-context.xml"); 
This works without errors. 
संबंधित मुद्दे