如何关闭或禁用JBOSS AS7中的vfs文件加载



我使用jboss AS7作为服务器,并且我使用以下代码来获取包含特定资源文件的所有jar文件。


 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)

不可能,因为JBoss AS7的存储系统使用VFS。

然而,你可以在你的URL对象上转到getPath(),它只会返回你的路径,比如:

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

理论上,如果需要匹配,可以将jar:file:添加到起点,并将getPath()中的.jar替换为.jar!

最新更新