加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java-Spring:PropertyPlaceholderConfigurer找不到属性文件

发布时间:2020-12-15 01:19:54 所属栏目:大数据 来源:网络整理
导读:我对Spring使用PropertyPlaceholderConfigurer有一个奇怪的问题.我的一颗豆的设计如下: bean name="propertyPlaceholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" property name="locations" valueclasspath:jdbc

我对Spring使用PropertyPlaceholderConfigurer有一个奇怪的问题.我的一颗豆的设计如下:

<bean name="propertyPlaceholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <value>classpath:jdbc.properties</value>
    </property>
</bean>

问题是spring永远找不到jdbc.properties(FileNotFoundException).该文件位于捆绑包类路径中的名为“ resources”的文件夹中(我在OSGi项目中工作).

我尝试了几乎所有组合(“ jdbc.properties”,“ / jdbc.properties”,“ classpath:jdbc.properties”,“ classpath:/jdbc.properties”,“ / resources / jdbc.properties”等). ),但它永远无法正常工作.

对于信息,如果有的话,我会做一些类似的事情:

URL u = someClassLoader.getResource("jdbc.properties");

它确实可以正常工作并找到文件.实际上,我完全无法理解spring的错误.

如果您有任何帮助的想法,请先感谢.我在春天不太有经验,所以我可能在某个地方犯了一个错误.

[编辑]

实际上,这是类加载器的问题:
如果我做 :

new ClassPathResource("jdbc.properties");

它不起作用.但是:

new ClassPathResource("jdbc.properties",someClassIntheBundle.class.getClassLoader());

完美地工作.

我确实相信Spring使用自己的软件包所消耗的ClassLoader.您知道解决这个棘手问题的方法吗?

谢谢,

最佳答案
尝试classpath *:jdbc.properties

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读