getClass().getClassLoader().getResourceAsStream() 正在缓存资源
我有一个资源(速度模板),我希望能够在开发过程中进行交换。不过,
getClass().getClassLoader().getResourceAsStream()
似乎缓存了模板。除了使用文件加载器而不是类加载器之外,还有其他方法可以禁用此功能吗?
I have a resource (velocity template) which I'd like to be able to swap during development. However,
getClass().getClassLoader().getResourceAsStream()
seems to cache the template. Is there a way to disable this besides using a file loader instead of the class loader?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为了避免缓存,您可以使用:
我想,这相当于对 Velocity 使用
URLResourceLoader
而不是ClasspathResourceLoader
。我只想使用文件加载器。To avoid caching you can use:
It would be equal to using
URLResourceLoader
for Velocity instead ofClasspathResourceLoader
I suppose. I would just go with a file loader.看看这样的东西是否有帮助(省略异常处理):
See if something like this helps (exception handling omitted):
另一件需要注意的事情(除了其他答案中提到的缓存之外)是您的 IDE 或构建系统可能会将您的资源移动到构建目录并将其放在类路径上。因此,您在源目录中编辑的文件不是正在提供服务的文件。
Another thing to watch out for (besides the caching mentioned in the other answers) is that your IDE or build system might move your resources to your build directory and put that on the class path. So the file you are editing in your source directory is not the file that is being served.