2010-12-01 19 views
2

J'essaie d'obtenir une ressource pour MyBatis. Les états tutoriel que je besoin ce qui suit dans mon usine de connexion:Comment référencer un fichier dans Eclipse qui n'est pas dans src

String resource = "org/mybatis/example/Configuration.xml"; 
Reader reader = Resources.getResourceAsReader(resource); 
sqlMapper = new SqlSessionFactoryBuilder().build(reader); 

Ma structure de répertoire est:

src/ com/ utils/ MyBatisConnectionFactory.java config/ Configuration.xml

Je rencontre des problèmes pour référencer le fichier de configuration. J'ai essayé "config/Configuration.xml", "Configuration.xml" et "/config/Configuration.xml".

Quelqu'un a une bonne idée de ce qu'il faut faire?

Répondre

4

Vous pouvez ajouter votre répertoire config en tant que dossier source (clic droit> chemin de génération> utiliser en tant que dossier source).

Ainsi vos fichiers de configuration vont à la racine du classpath et seront accessibles via getClass().getResourceAsStream("/Configuration.xml")

+0

Est-ce que vous arrive savoir comment faire sur MyEclipse? – echoblaze

+0

MyEclipse est juste un ajout à Eclipse, donc c'est la même chose. – Bozho

0

Ouvrez le fichier via le classpath en utilisant getResourcesAsStream() plutôt que Resources.getResourceAsReader() Par exemple:

InputStream is = getClass().getClassLoader().getResourceAsStream(
    "src/com/utils/Configuration.xml"); 
byte[] data = new byte[is.available()]; 
is.read(data); 
is.close(); 
String fileContents = new String(data);