有沒有辦法使用來自Tomcat應用程序的getResourceAsStream
加載存儲在JAR中的文件?使用getResourceAsStream將文件加載到Tomcat的JAR中
我有一個庫,它將所需的所有文件放入它的jar文件中,以及編譯好的類。此代碼在獨立應用程序中使用庫時起作用,但在Tomcat內部使用庫時(使用PHP java橋)則不起作用。
final InputStream stream = Object.class.getResourceAsStream("/styles/foo.xsl");
我試圖沒有成功使用問題getResourceAsStream not loading resource in webapp列出的解決方案,改變了代碼
final ClassLoader resourceLoader = Thread.currentThread().getContextClassLoader();
final InputStream stream = resourceLoader.getResourceAsStream("/styles/foo.xsl");
當庫用於獨立或何時出庫後的代碼不工作也不在Tomcat中使用。在這兩種情況下stream == null
。
我想加載的文件正確存儲在JAR中的/styles/foo.xsl
。帶有所有類和這些其他文件的JAR是tomcat/webapps/iJavaBridge/WEB-INF/lib/
。
有人可以推薦一段代碼,可以在Tomcat和非Tomcat應用程序中使用嗎?
http://www.sitepoint.com/forums/showthread.php?320858-tomcat-classloader-problem建議使用'<上下文路徑= 「/應用」 antiJARLocking = 「真」/>'。我應該向Tomcat管理員建議這個更改嗎? – gioele