J'utilise JBoss4.0.1 et Struts2.1.6Lire ressources dans le contexte (.war) à partir d'un fichier jar
J'ai une application qui ont un certain fichier de configuration (appConfig.xml dans le dossier WEB-INF/config) . Ce fichier de configuration contient les chemins relatifs des autres fichiers à lire (other.xml, some.xml etc.). L'application est déployée en tant que .war dans default/deploy
J'ai un package utilitaire qui lit les fichiers de configuration. J'ai déployé la utility.jar dans la méthode par défaut/lib
Dans c ontextInitialized
de ServletContextListener
Je lis le appConfig.xml
et passant IOStream
sur appConfig
à ma classe utilitaire qui lit ce fichier et charge tous les chemins de contexte relatifs.
Comment puis-je lire ces fichiers maintenant? Parce que si j'essaie de créer un flux d'entrée, il est retourné NULL.
J'ai essayé de suivre dans la classe utilitaire.
méthode de lecture est appelée à l'intérieur de la méthode contextInitialized de ServletContextListener
public void read(){
this.getClass().getClassLoader.getResourceAsStream("/WEB-INF/config/some.xml");
}
public void read(ClassLoader cl){
cl.getResourceAsStream("/WEB-INF/config/some.xml"); --> Null
cl.getResourceAsStream("/../config/some.xml"); --> Null
cl.getResourceAsStream("../config/some.xml"); --> Null
}
public void read(ServletContext ct){
ct.getResourceAsStream("/WEB-INF/config/some.xml");.
ct.getResourceAsStream("/../config/some.xml"); --> Null
ct.getResourceAsStream("../config/some.xml"); --> Null
}
J'ai essayé de poser une question similaire dans [ce post] (http://stackoverflow.com/questions/4585553/how-to-load-resource-from-jar-file-packaged-in-a-war-file/16082211 # 16082211). J'espère que cela t'aides. – Rupesh