Używam MyBatis 3.0.5 i mam problemy z ładowaniem maperów jako zasobów. Jestem na Windows 7 64, korzystam z Eclipse Indigo 64bit i jdk7 64. MyBatis jest inicjowany w Grizzly Web Container (gdzie są zaimplementowane usługi restaracyjne ze strukturą jersey) samodzielna instancja.MyBatis 3.0.5 i problem z ładowaniem maperów
<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>
mam te same elementy odwzorowujące tylko do testów, pierwszy jest załadowany, drugi nie działa. Błędy:
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)
Przepraszamy za mój angielski.
ROZWIĄZANIE: Projekty Maven wymagają zasobów do testów src/main/resources i src/test/resources. Tak więc rozwiązaniem jest umieszczenie mapperów XML w tych folderach.
Chciałbym korzystać z zasobów z tych samych powodów, ale one nie działają ... również przy użyciu Twojej sugestii. – raid3n
Czy mógłbyś opisać, jaką masz strukturę folderów? – BrownFurSeal
thx za pomoc, Mam projekt Maven z classpath src/main/java i pakiety: src/main/java/com/izs w Main.java src/main/java/com/izs/mybatis w FormMapper .xml – raid3n