2010-10-19 6 views
2

À l'aide du ClassLoader # getResource(), j'ai besoin d'accéder à un fichier présent dans un projet autre que celui où se trouve mon code actuel. Comment cela peut-il être fait? J'utilise Eclipse.Obtention d'une ressource dans un projet différent à l'aide du chargeur de classes

Structure du répertoire.

 
Root 
|-project1 
| |-package 
| |-myResourceFile 
|-project2 
    |-package 
    |-myCodeFile 

J'essaie d'obtenir myResourceFile de myCodeFile, en utilisant myCodeFile.class.getClassLoader() getResource ("../../ project1/paquet/myResourceFile") mais c'est toujours retourner null. Je ne veux pas ajouter project1 au classpath de project2. Bien que l'ajout de cela n'a pas fonctionné.

En ce qui concerne,

Répondre

1

C'est une mauvaise idée de tenter de lire les fichiers d'un autre projet comme ça, car il vous lie exactement cette structure de répertoire. Vous avez déjà fait le premier pas en découplant les projets en utilisant getResource() au lieu d'utiliser l'API java.util.File pour que vous puissiez aller aussi jusqu'au bout.

Dans Eclipse, vous pouvez ajouter d'autres projets au chemin de construction d'un projet (Propriétés du projet -> Chemin de construction Java -> Projets). Vous devriez être capable de lire les fichiers des autres projets maintenant.