gpt4 book ai didi

java - Spring : PropertyPlaceholderConfigurer cannot find property file

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:46 26 4
gpt4 key购买 nike

我在使用 PropertyPlaceholderConfigurer 的 Spring 中遇到了一个奇怪的问题。我的一个 bean 设计如下:

<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的错误是什么。

如果您有任何想法可以帮助我,请提前致谢。我在 Spring 不是很有经验,所以我可能在某个地方犯了错误。

[编辑]

其实是classloader的问题:如果我这样做:

new ClassPathResource("jdbc.properties");

这是行不通的。但是:

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

完美运行。

我确实相信 Spring 使用它自己的包的 ClassLoader,我的包使用了它。您知道解决这个棘手问题的方法吗?

谢谢,

最佳答案

试试 classpath*:jdbc.properties

关于java - Spring : PropertyPlaceholderConfigurer cannot find property file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com