1

尝试使用久经考验的方法获取资源时

Resource[] esResources = ResourcePatternUtils.getResourcePatternResolver(resourceLoader)
                .getResources("classpath*:/es/" + storageFilename + ".json")

(resourceLoader是spring boot默认提供的@Autowired)

当文件在 /BOOT-INF/classes/es/ 下的类路径中明显存在时,esResources 返回空

更大的谜团是代码在我们的一个单独的 repo 中运行,运行相同的 spring-boot 版本(spring-boot-starter-parent 2.4.5)。

通过调试器单步执行这两个存储库,我在此步骤中发现了一个差异PathMatchingResourcePatternResolver- 工作的一个正在使用TomcatEmbeddedWebappClassLoader,而“损坏”的一个正在显示ClassLoaders$AppClassLoader。不确定这是否是红鲱鱼。

4

0 回答 0