【发布时间】:2013-11-27 20:14:55
【问题描述】:
我正在从 servlet 容器运行应用程序。此应用程序生成的字母源自一些与 jar 一起打包的文件模板。我通过Class.getResourceAsStrem 获取了这些文件,并且该应用程序运行良好。
然而,在数千次调用之后,该方法突然返回null,并继续返回null,直到应用程序重新启动。我对此没有任何解释,我也看不出为什么会突然发生这种情况。
我首先认为这可能是因为未关闭的流指向相同的资源,但我在打开它后立即将流处理包装在 catch-try-block 中。此外,堆转储不会显示此类流对象,而且我还认为这应该导致 IOException 代替。此外,它在 javadoc 中说
一个 InputStream 对象,如果没有找到同名的资源,则返回 null
但是为什么应用程序突然无法再找到之前成功找到的资源。
有什么想法吗?
【问题讨论】:
-
这些文件在哪里?
-
在 jar 的子文件夹中。