Trouver le chemin d'une application web
Quand je travaille sur mon web app dans Eclipse, je peux rechercher toutes les classes et les fichiers JAR avec
String cp = System.getProperty("java.class.path");
mais quand je déploiement sur Tomcat ou Jetty, je ne reçois rien.
Je veux trouver tous les *.properties
fichiers qui sont situés dans la webapp (soit dans le BOCAL ou, si explosé, dans les dossiers).
String cp = System.getProperty("java.class.path");
String pathSep = File.pathSeparator;
String[] jarOrDirectories = cp.split(pathSep);
for (String fileName : jarOrDirectories) {
File file = new File(fileName);
if (file.isFile()) {
logger.debug("From jar "+file.getName());
loadFromJar(file.getPath());
} else {
logger.debug("From folder "+file.getName());
listFolder(file);
}
}
De cette façon, l'exécution de l'application web dans Eclipse me donne tous les fichiers JAR et de tous les dossiers de classe, mais pas quand je le déploiement de l'application dans Tomcat.
Il suffirait, si seulement je pouvais obtenir le chemin d'accès à WEB_INF
. À partir de là, c'est facile.
La java.classe.chemin d'accès à la propriété n'est probablement pas ce que vous voulez. Webapps ont classloader personnalisé hiérarchies qui affectent la visibilité. Voir tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html pour plus d'informations. pouvez-vous fournir un exemple de code qui illustre ce que vous essayez de faire?
OriginalL'auteur Zemzela | 2011-07-04
Vous devez vous connecter pour publier un commentaire.
Si quelqu'un a besoin de la réponse, j'ai trouvé un très de réponse évidente.
Puis, quand vous recevez le chemin réel vous pouvez facilement rechercher à travers les dossiers et les Bocaux.
OriginalL'auteur Zemzela