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

Java 由于vfszip协议,读取JBoss 5上的目录时出错,java,spring,file-io,vfs,Java,Spring,File Io,Vfs,我需要解析web应用程序中的许多文件 这些文件位于my.war文件顶层的一个名为edms的目录中。 当我试图获取目录上的句柄进行处理时,会出现错误,因为返回的资源是vfszip协议类型 例如,当我使用MyClass.class.getResource/edms时,我会得到类似vfszip:C:/jboss/server/default/deploy/MyWar.war/edms的结果 如果将此URL用于文件对象,则会失败,因为它找不到基础目录及其包含的文件 我已经考虑过使用Spring Reso

我需要解析web应用程序中的许多文件

这些文件位于my.war文件顶层的一个名为edms的目录中。 当我试图获取目录上的句柄进行处理时,会出现错误,因为返回的资源是vfszip协议类型

例如,当我使用MyClass.class.getResource/edms时,我会得到类似vfszip:C:/jboss/server/default/deploy/MyWar.war/edms的结果

如果将此URL用于文件对象,则会失败,因为它找不到基础目录及其包含的文件

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

获取.war文件中目录的句柄 循环目录中的每个文件—读取和解析其内容 有什么想法吗

谢谢


Sarah

作为一名黑客,如果您只是将MyClass.class.getResource/edms返回的内容的协议部分作为子串,并在新文件中使用其余部分,会发生什么情况。。。声明?

有几种可能的解决方案:

一方面,升级到Spring3+应该可以自动解决这个问题,对于JBossAS6或更高版本使用Spring3.0.3+; 如果你被Spring2.5卡住了,那么你可以使用Snowdrophttp://www.jboss.org/snowdrop,更具体地说,请阅读VfsXmlWebApplicationContext以了解详细信息。 希望这有帮助,
马吕斯

我这样做了,但是我得到了一个FileNotFound异常:-我想这是因为它在一个WAR文件中,所以如果没有该协议,该文件在该目录中的文件系统上就不存在了。我得到的另一个建议是看一下。这似乎是一个相似但又不完全相同的问题。就连我也有同样的问题。尝试使用getResourceconfiguration.XML读取XML文件,但无法读取此文件,因为它位于EAR中。你能为这位朋友找到解决办法吗??