由于 vfszip 协议,读取 JBoss 5 上的目录时出错

发布于 2024-12-11 22:19:04 字数 457 浏览 0 评论 0原文

我需要解析网络应用程序中的许多文件。

这些文件位于 .war 文件顶层的目录(称为“edms”)中。 当我尝试获取目录句柄进行处理时,我收到错误,因为返回的资源是 vfszip 协议类型。

例如,当我使用 MyClass.class.getResource("/edms") 时,我会得到类似“vfszip:C:/jboss/server/default/deploy/MyWar.war/edms”的信息。

如果我随后将此 URL 与 File 对象一起使用,则会失败,因为它找不到底层目录及其包含的文件。

我已经考虑过使用 Spring ResourceUtils 类,但似乎无法让他们给我什么,即能够:-

  1. 获取目录的句柄(在我的 .war 文件中)
  2. 循环中的每个文件目录 - 阅读并解析其内容

有什么想法吗?

谢谢莎拉

I need to parse a number of files in my web application.

The files are sitting in a directory (called "edms") at the top level of my .war file.
When I try to get a handle on the directory for processing I get errors as the resource returned is of vfszip protocol type.

For example, when I use MyClass.class.getResource("/edms") I get back something like "vfszip:C:/jboss/server/default/deploy/MyWar.war/edms".

If I then use this URL with File objects it fails as it cannot find the underlying directory and the files it contains.

I've looked at using the Spring ResourceUtils class but can't seem to get them to give me what I was which is to be able to :-

  1. Get a handle on the directory (within my .war file)
  2. Loop round each file in the directory - reading and parsing it's contents

Any ideas?

Thanks

Sarah

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

多孤肩上扛 2024-12-18 22:19:04

作为一种黑客,如果您只是 substring MyClass.class.getResource("/edms") 返回的协议部分,并使用它的其余部分,会发生什么new File(...) 语句?

As a hack, what happens if you just substring the protocol part of what MyClass.class.getResource("/edms") returns away, and use the rest of it in a new File(...) statement?

甜警司 2024-12-18 22:19:04

有一些可能的解决方案:

  • 一方面,升级到 Spring 3+ 应该会自动解决这个问题(对于 JBoss AS6 或更高版本使用 Spring 3.0.3+;
  • 如果您坚持使用 Spring 2.5,那么您可以使用 Snowdrop ( http://www.jboss.org/snowdrop),更具体地说是 VfsXmlWebApplicationContext(阅读 了解详细信息

希望这有帮助,
马吕斯

There are a few possible solution to this:

  • for one thing, upgrade to Spring 3+ should automatically solve this issue (use Spring 3.0.3+ for JBoss AS6 or higher;
  • If you are stuck with Spring 2.5, then you can use Snowdrop (http://www.jboss.org/snowdrop), and more specifically the VfsXmlWebApplicationContext (read this for details.

Hope this helps,
Marius

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文