当前位置: 首页 > 知识库问答 >
问题:

Spring-java。木卫一。FileNotFoundException:无法打开类路径资源,因为它不存在

贲铭
2023-03-14

我正在开发一个添加了依赖项的Spring Boot应用程序。这个依赖项有一个spring。xml文件。我正在扫描这个xml文件并创建bean。其中一颗豆子正在寻找冬眠。类路径中的属性。我已将此属性文件添加到应用程序的“资源”文件夹下。但是,我仍然看到下面列出的例外情况。你能告诉我我错过了什么吗?

 <util:properties id="HibernateProperties" location="classpath:hibernate.properties"/>

JAVA木卫一。FileNotFoundException:无法打开类路径资源[hibernate.properties],因为它不存在

共有1个答案

卫博雅
2023-03-14

这是Spring来的医生

具有类路径的蚂蚁样式模式:如果要搜索的根包在多个类路径位置可用,则资源不能保证找到匹配的资源。这是因为像这样的资源

com/mycompany/package1/service context。xml可能仅位于一个位置,但当路径

类路径:com/mycompany/**/service-context.xml

所以

<util:properties id="HibernateProperties" location="classpath*:hibernate.properties"/> 

可能会给你更好的机会。

但是

请注意,当类路径*:与蚂蚁风格的模式相结合时,只有在模式开始之前,至少一个根目录才能可靠地工作,除非实际的目标文件驻留在文件系统中。这意味着像classpath*:*. xml这样的模式不会从jar文件的根目录检索文件,而是只能从扩展目录的根目录检索文件。这源于JDK的ClassLoader.getResources()方法中的一个限制,该方法只返回传入空字符串的文件系统位置(指示要搜索的潜在根)。

 类似资料: