MyBatis 3.0.5 et mappeurs de problème de chargement
Je suis l'aide de MyBatis 3.0.5 et j'ai des problèmes sur le chargement des mappeurs de ressources. Je suis sur Windows 7 64, j'utilise Eclipse Indigo 64 bits et jdk7 64. MyBatis est initialisé dans un Grizzly Conteneur Web (où sont mis en œuvre des services rest avec jersey cadre) instance autonome.
<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>
J'ai le même mappeurs uniquement pour les tests, le premier est chargé, le deuxième ne fonctionne pas. Erreurs:
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)
Désolé pour mon anglais.
SOLUTION:
Des projets Maven voulez des ressources dans src/main/resources et src/test/resources pour les tests. Donc la solution est de mettre le xml mappeurs dans ces dossiers.
OriginalL'auteur raid3n | 2011-09-26
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser des chemins absolus. Il rend votre code portables et inutilisés à un autre environnement. Juste par rapport acceptable. Pour ton exemple, je suppose que vous pouvez utiliser le chemin relatif suivant:
Pourriez-vous décrire ce que la structure de dossier avez-vous?
thx pour les aider, j'ai un projet Maven avec le classpath src/main/java et les paquets: src/main/java/com/izs dans Main.java src/main/java/com/izs/mybatis dans FormMapper.xml
vous devez vous mettre en xml sur le dossier de ressources comme
src/main/resource/com/izs/mybatis
c'est là que le<mapper resource=
essayer de trouver les ressources. Et puis utiliser la suggestion sur la @BrownFurSeal réponse.OriginalL'auteur BrownFurSeal