2011-09-26 27 views
5

Tôi đang sử dụng MyBatis 3.0.5 và tôi gặp sự cố về tải bản đồ dưới dạng tài nguyên. Tôi đang sử dụng Windows 7 64, tôi sử dụng Eclipse Indigo 64bit và jdk7 64. MyBatis được khởi tạo trong một Grizzly Web Container (nơi được triển khai các dịch vụ còn lại với khung công tác jersey) độc lập.MyBatis 3.0.5 và người lập bản đồ tải sự cố

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

Tôi chỉ có cùng người lập bản đồ để thử nghiệm, lần đầu tiên được tải, thứ hai không hoạt động. Lỗi:

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) 

Xin lỗi vì tiếng anh của tôi.

GIẢI PHÁP: Dự án Maven muốn tài nguyên vào src/main/resources và src/test/resources để kiểm tra. Vì vậy, giải pháp là đưa những người lập bản đồ xml vào những thư mục này.

Trả lời

1

Không sử dụng đường dẫn tuyệt đối. Nó làm cho mã của bạn không thể chuyển đổi và không được sử dụng trên một môi trường khác. Chỉ tương đối chấp nhận được. Ví dụ của bạn, tôi đoán bạn có thể sử dụng đường dẫn tương đối sau:

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

Tôi sẽ sử dụng tài nguyên vì lý do tương tự nhưng chúng không hoạt động ... cũng sử dụng đề xuất của bạn. – raid3n

+0

Bạn có thể mô tả cấu trúc thư mục nào? – BrownFurSeal

+0

thx để được trợ giúp, tôi có một dự án Maven với classpath src/main/java và các gói: src/main/java/com/iz trong Main.java src/main/java/com/izs/mybatis trong FormMapper .xml – raid3n

Các vấn đề liên quan