2011-09-26 11 views
5

मैं MyBatis 3.0.5 का उपयोग कर रहा हूं और मुझे संसाधनों के रूप में मैपर्स को लोड करने के बारे में समस्याएं हैं। मैं विंडोज 7 64 पर हूं, मैं एक्लिप्स इंडिगो 64 बिट और जेडीके 7 64 का उपयोग करता हूं। माईबेटिस को ग्रिज़ली वेब कंटेनर (जहां जर्सी फ्रेमवर्क के साथ बाकी सेवाओं को लागू किया जाता है) में प्रारंभ किया गया है।MyBatis 3.0.5 और मैपर लोडिंग समस्या

<mappers> 
     <mapper 
      url="file:///C:/Users/andrea/workspace/soap2rest/src/main/java/com/izs/mybatis/FormMapper.xml" /> 
     <mapper resource="src/main/java/com/izs/mybatis/FormMapper.xml" /> 
    </mappers> 

मैं केवल परीक्षण के लिए एक ही मानचित्रकारों है, पहले भरी हुई है, दूसरे काम नहीं करता। त्रुटियां:

org.apache.ibatis.exceptions.PersistenceException: 
### Error building SqlSession. 
### The error may exist in src/main/java/com/izs/mybatis/FormMapper.xml 
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource src/main/java/com/izs/mybatis/FormMapper.xml 
    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8) 
    at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:32) 
    at com.izs.Main.initMyBatis(Main.java:114) 
    at com.izs.Main.main(Main.java:80) 
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource src/main/java/com/izs/mybatis/FormMapper.xml 
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:85) 
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:69) 
    at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:30) 
    ... 2 more 
Caused by: java.io.IOException: Could not find resource src/main/java/com/izs/mybatis/FormMapper.xml 
    at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:89) 
    at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:76) 
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:253) 
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:83) 
    ... 4 more 
Exception in thread "main" java.lang.NullPointerException 
    at com.izs.Main.initMyBatis(Main.java:122) 
    at com.izs.Main.main(Main.java:80) 

मेरी अंग्रेजी के लिए खेद है।

समाधान: मैवेन प्रोजेक्ट संसाधनों के लिए स्रोत/मुख्य/संसाधनों और स्रोत/परीक्षण/संसाधनों में संसाधन चाहते हैं। तो समाधान इन फ़ोल्डर्स में एक्सएमएल मैपर डालना है।

उत्तर

1

पूर्ण पथ का उपयोग न करें। यह आपके कोड को किसी अन्य वातावरण पर अप्राप्य और अप्रयुक्त बनाता है। बस सापेक्ष स्वीकार्य। आपके उदाहरण के लिए, मुझे लगता है कि आप निम्नलिखित सापेक्ष पथ का उपयोग कर सकते हैं:

<mapper resource="com/izs/mybatis/FormMapper.xml" /> 
+0

मैं आपके कारणों से संसाधनों का उपयोग करना चाहता हूं लेकिन वे काम नहीं करते ... आपके सुझाव का उपयोग भी करते हैं। – raid3n

+0

क्या आप कृपया बता सकते हैं कि आपके पास कौन सी फ़ोल्डर संरचना है? मदद के लिए – BrownFurSeal

+0

thx, मेरे पास क्लासपाथ src/main/java और संकुल के साथ एक मेवेन प्रोजेक्ट है: src. main 0 j35 /src /per/com/izs/mybatis formMapper के भीतर src/main/java/com/izs .xml – raid3n

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