2010-03-13 3 views
0

J'ai créé l'application d'entreprise Java et il se compose d'un module ejb et d'une application web. J'ai le vieux dossier de xml simple dans le dossier de paquets de source dans le paquet "commun" dans mon module d'ejb. Je veux passer ce chemin de fichier dans le constructeur File() pour une classe dans le module ejb. Comment fait-on ça?Comment obtenir le chemin de fichier de mon fichier dans une application d'entreprise java?

Si je passe un des dessous ne fonctionne pas: -

new File("abc.xml"); //this take file from glassfish/domains/domain1 :(

new File("./abc.xml"); 

Je ne veux pas passer de chemin hardcode comme/home/administrateur/appname/module/etc ..

Je veux le chemin relatif de mon module ejb. Aidez-moi, s'il vous plaît. J'ai essayé toutes les choses.

En fait, lorsque j'ai créé une classe dans le même dossier, puis essayez classname.getResource("abc.xml").getPath() cela fonctionne très bien. Mais que faire si je n'ai aucune classe dans ce dossier. En attente de vos réponses

Répondre

3

Comme vous l'avez déjà deviné, vous devez utiliser this.getClass().getResource("/common/abc.xml").getFile() - il fonctionnera pour n'importe quelle classe de votre application car il utilise le chargeur de classe pour localiser une ressource dans le chemin de la classe. Voir javadocs si vous avez des problèmes.

Questions connexes