2013-11-20 36 views
0

我正在使用jboss AS7作为服务器,并且我正在使用以下代码来获取包含特定资源文件的所有jar文件。如何关闭或禁用JBOSS AS7中的vfs文件加载

 

try { 
     urls = Thread.currentThread().getContextClassLoader().getResources("config.properties"); 
//Here gets all jar files url which contains config.properties file 
      } catch (IOException e) { 
       throw new AWGenericException(e); 
      } 
 

但是在JBOSS的情况下,所有的URL都以VFS(虚拟文件系统)格式的形式出现。因此,url字符串看起来像如下

 

vfs:/E:/Servers/JBOSS/standalone/deployments/isms.war/WEB-INF/lib/ariba.aribaweb.jar/META-INF/config.properties 
 

实际上我不需要vfs url我需要url,它以常规格式出现,如下所示。

 

jar:file:/E:/Servers/JBOSS/standalone/deployments/isms.war/WEB-INF/lib/ariba.aribaweb.jar!/META-INF/config.properties 
 

是否有可能在JBOSS AS7关闭此功能(VFS)

回答

1

不,这是不可能的,因为JBoss的AS7使用VFS针对其存储系统。

不过,您可以去getPath()URL对象将只返回你的路径,如:

E:/Servers/JBOSS/standalone/deployments/isms.war/WEB-INF/lib/ariba.aribaweb.jar/META-INF/config.properties 

,你可以在理论上getPath()内的.jar!添加jar:file:到开始和更换.jar,如果你需要它匹配。