Я настроил файл config.xml, выбрав соответствующий файл свойств в зависимости от среды. Я запускаю это как приложение Spring Boot с Apache Camel.Не удалось разрешить placeholder в строковом значении с внешними файлами
Конфигурация выглядит следующим образом.
<bean id="properties"
class="org.apache.camel.component.properties.PropertiesComponent">
<property name="locations" ref="locations" />
</bean>
<bean id="bridgePropertyPlaceholder"
class="org.apache.camel.spring.spi.BridgePropertyPlaceholderConfigurer">
<property name="locations" ref="locations" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
<beans profile="dev">
<util:list id="locations">
<value>classpath:config/users.properties</value>
<value>classpath:config/application.properties</value>
<value>classpath:config/application-dev.properties</value>
</util:list>
<beans profile="test">
<util:list id="locations">
<value>file:${project.dir}/config/users.properties</value>
<value>file:${project.dir}/config/application.properties</value>
</util:list>
При использовании тестового профиля я хочу использовать внешние файлы, определенные в конфигурации (потому что я не хочу, чтобы совершить имя пользователя/пароль репо). Кажется, все работает нормально.
Однако мой файл users.properties содержит:
username=myusername
password=mypassword
и мой application.properties содержит:
loginParameters=username=${username}&password=${password}
при запуске java -jar myjar.jar --spring.profiles.active=test
я сталкиваюсь:
java.lang.IllegalArgumentException: Could not resolve placeholder 'username' in string value '${username}&password=${password}'
Это явно загружает файлы свойств, поскольку он содержит:
Loading properties file from URL: file:...../users.properties
Loading properties file from URL: file:...../application.properties
Bridging Camel and Spring property placeholder configurer with id: bridgePropertyPlaceholder
...
И затем возникает исключение. Как я могу решить проблему, когда файл application.properties не распознает мои свойства, определенные в users.properties? Все работает нормально при запуске dev-профиля.
должен быть комментарий –