我正在使用Spring 3.2.11.RELEASE和Maven 3.3。我在我的应用程序上下文文件中定义了这个...
<bean id="localPropertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:quickbase.properties</value>
</list>
</property>
</bean>
…
<bean id=“myClient" class="org.mainco.subco.mysystem.MyClient">
<constructor-arg index="0" type="String" value="${quickbase.username}" />
<constructor-arg index="1" type="String" value="${quickbase.password}" />
<constructor-arg index="2" type="String" value="${quickbase.url}" />
</bean>
但是当我运行测试时,我得到以下错误
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'myClient' defined in class path resource [META-INF/spring/applicationContext-orders.xml]: Could not resolve placeholder 'quickbase.username' in string value "${quickbase.username}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'quickbase.username' in string value "${quickbase.username}"
这令我感到困惑,因为在我的target / classes目录中,我可以看到一个文件“quickbase.properties”,它定义了“quickbase.username”。我无法弄清楚我还需要检查什么。
答案 0 :(得分:0)
在您的应用程序中有多个org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
可能是原因。
看看这个:Could not resolve Spring property placeholder
可能是您正在寻找的答案..