获取 Tomcat 中资源的真实文件路径
在 Tomcat 7 中的 Web 应用程序中,我使用 servletContext.getResource("file.xml") 获取应用程序中的资源。这会返回 jndi:/localhost/app/file.xml
形式的 URL。
但是,因为我需要将此文件传递给一个只能接受真实文件路径的库(我认为它有一个嵌入式 Ruby 脚本),所以 URL 不起作用。
有没有办法获取真实的文件路径?我知道这将使应用程序无法从 WAR 中运行,但没关系。
In my web application in Tomcat 7, I get a resource in the app using servletContext.getResource("file.xml")
. This returns an URL in the form jndi:/localhost/app/file.xml
.
However, because I need to pass this file to a library which can only accept real file paths (it has an embedded Ruby script, I think) that URL won't do.
Is there a way to get the real file path? I know that will make the application unable to ne run from a WAR, but that's ok.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我有一个非常肮脏的解决方法:
我应该能够通过一些缓存/校验和来加快速度,但这并不漂亮。
I have a very dirty workaround:
I should be able to speed this up with some caching/checksumming, but it's not pretty.
我会使用
File#createTempFile()
。I'd use
File#createTempFile()
.