我使用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