我有一个 spring-boot 应用程序,我想收集所有放置在/src/main/resources
目录中的 XML 文件,该目录的结构如下所示:
-resources
-files
-dir1
-dir11
a.xml
b.xml
-dir2
-dir21
c.xml
-dir3
-dir31
d.xml
我尝试了一些解决方案,例如使用ResourceUtils.getFile
, ClassPathResource
, ResourcePatternResolver
,ClassLoader
但是这些仅在我在 IDE 中运行我的应用程序时才有效,如果我将我的应用程序打包为 jar 并部署它,它们就不起作用。我得到以下异常
java.io.FileNotFoundException: class path resource [files] cannot be resolved to absolute file path because it does not reside in the file system:
目录名(dir1、dir11、dir2 等)和文件名(a.xml、b.xml)不固定,因此在代码中不为人所知。
这些目录和文件可以有任何名称。
resources/files
是唯一已知的目录,我想收集该目录及其子目录中的所有 xml 文件。
我已经尝试了几乎所有在网上找到的解决方案,但似乎对我的用例没有任何作用。
如何才能做到这一点?提前致谢。