2010-06-08 8 views
3

Selon le guide de l'utilisateur je suis en mesure d'utiliser le chemin de fichier au lieu de ressource:Est-il possible de mettre des mappers XML myBatis (iBatis) en dehors du projet?

 

// Using classpath relative resources 
<mappers> 
    <mapper resource="org/mybatis/builder/AuthorMapper.xml"/> 
</mappers> 

// Using url fully qualified paths 
<mappers> 
    <mapper url="file:///var/sqlmaps/AuthorMapper.xml"/> 
</mappers> 

dans mon projet, je suis en train de mettre mon mappeur xml « en dehors » du projet et je fais ce :

<mapper url="file://D:/Mappers/ComponentMapper1.xml" />

La sortie de ma console log4j:

Error building SqlSession. 
The error may exist in file://D:/Mappers/ComponentMapper1.xml 
Cause: org.apache.ibatis.builder.BuilderException: Error parsing 
SQL Mapper Configuration. Cause: java.net.UnknownHostException: D 

Est-ce bug ou il me fait quelque chose de mal?

+0

J'ai mis à jour ibatis à la dernière version, ajouté la barre oblique: et cela fonctionne très bien :) – kospiotr

Répondre

1

Vous avez juste besoin d'une barre oblique supplémentaire avant la lettre du lecteur.

0

Sql Map Config recherche les fichiers de mappage par rapport au classpath, essayez donc d'ajouter votre ComponentMapper1.xml quelque part au classpath.

set CLASSPATH=%CLASSPATH%;D:/Mappers/ 

... 

<mapper resource="ComponentMapper1.xml" /> 
-1

Vous devez utiliser

<mapper url="file:///usr/local/ComponentMapper1.xml" /> 

file:///usr/local/ComponentMapper1.xml est le chemin de votre fichier XML, au lieu de la ressource si vous voulez utiliser cartographes en dehors des ressources dir.