我使用JBoss4.0.1和Struts2.1.6閱讀上下文中資源(的.war)從一個jar文件
我有有一些配置文件的應用程序(appConfig.xml在文件夾WEB-INF/config中) 。 該配置文件包含要讀取的其他文件的相對路徑(other.xml,some.xml等)。應用程序部署爲.war內部默認/部署
我有一個工具包,讀取配置文件。我已經部署了默認內部utility.jar/lib目錄
在C ontextInitialized
方法ServletContextListener
我讀了appConfig.xml
和appConfig
傳遞IOStream
我的工具類,它讀取該文件並加載所有上下文相對路徑。
我該如何讀取這些文件?因爲如果我嘗試創建一個輸入流,它將返回NULL。
我試過下面的Utility類。
讀法是從的ServletContextListener
的contextInitialized方法中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
}
我試過類似的問題在[這篇文章](http://stackoverflow.com/questions/4585553/how-to-load-resource-from-jar-file-packaged-in-a-war-file/16082211#16082211)。希望這可以幫助。 – Rupesh 2013-04-18 11:56:42