1

Maven 3.3 で Spring 3.2.11.RELEASE を使用しています。アプリケーション コンテキスト ファイルでこれを定義しています …</p>

<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.username」が定義されたファイル「quickbase.properties」があるため、これは私を困惑させます。他に何を確認する必要があるのか​​ わかりません。

4

2 に答える 2

0

アプリケーションに複数org.springframework.beans.factory.config.PropertyPlaceholderConfigurerあることが、この理由になる可能性があります。

これを見てください: Spring プロパティのプレースホルダーを解決できませんでした

あなたが探している答えかもしれません..

于 2016-05-26T21:01:35.840 に答える