我的 Web 应用程序的类路径中有一些资源文件(在 JAR 中,如果重要的话)。我知道我可以通过调用 eg 来访问这些资源的内容SomeClassLoader.getResourceAsStream( "/samples/myscript.txt" )
。我过去在爆炸和未爆炸的WAR 文件中都成功地对此进行了测试。
但是,要与我的应用程序中的其他一些现有类集成,我需要为该文件提供一个 URLConnection 对象。我测试并确认调用getResource("/samples/myscript.txt").openConnection()
在分解的WAR 中有效(此外,调试显示结果是file:///
分解文件的 URL)。
问题:该方法是否也适用于非爆炸(“打包?”)WAR?
(我目前无法轻松访问部署战争而不爆炸它们的服务器,因此为什么我要问而不是直接尝试它。此外,某些服务器(例如 Jetty、Tomcat ——即使使用unpackWARs="false"
)允许非爆炸部署,但在幕后,他们解开战争,有效地表现得像一个爆炸的部署——而且,显然,工作正常。我认为过去给我带来麻烦的服务器是 Websphere 和 Weblogic)。