Wildfly读取classpath文件

由于Wildfly使用Virtual File System

无法通过URL或InputStream直接转换为java.io.File。需要通过VirtualFile转换:

1
2
3
URL url = getClass().getClassLoader().getResource("updatesql");
VirtualFile virtualFile = (VirtualFile)url.openConnection().getContent();
File[] folder = virtualFile.getPhysicalFile().listFiles();

pom.xml

1
2
3
4
5
6

<dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-vfs</artifactId>
<version>3.2.12.Final</version>
</dependency>

参考:[1] stackoverflow

Share