/ / Na Primavera, obtendo “java.lang.IllegalArgumentException: Não foi possível resolver o espaço reservado ”apesar de ter definido“ PropertyPlaceholderConfigurer ”- primavera, propriedades, contexto de aplicativo, propriedade-espaço reservado

Na Primavera, obtendo “java.lang.IllegalArgumentException: Não foi possível resolver o espaço reservado ”apesar de ter definido“ PropertyPlaceholderConfigurer ”- primavera, propriedades, contexto de aplicativo, propriedade-espaço reservado

Estou usando o Spring 3.2.11.RELEASE com o Maven 3.3. Eu tenho isso definido no meu arquivo de contexto de aplicativo ...

<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>

mas quando eu corro meu teste, recebo o erro abaixo

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}"

Isso está me desconcertando porque no meu diretório target / classes, eu posso ver um arquivo, “quickbase.properties,” que tem o “quickbase.username” definido. Eu não consigo descobrir o que mais preciso verificar.

Respostas:

6 para resposta № 1

Recebi erro semelhante hoje. Eu resolvi adicionando um pequeno espaço entre o dólar e a primeira chave {. Acredito que o Java Runtime está tentando resolver um espaço reservado não intencional. A seguir, o exemplo:

<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>

0 para resposta № 2

Tendo mais de um org.springframework.beans.factory.config.PropertyPlaceholderConfigurer na sua aplicação pode ser uma razão para isso.

Veja isso: Não foi possível resolver o espaço reservado da propriedade Spring

Pode ser a resposta que você está procurando