Я использую Spring 2.5.6 и создаю свой проект с помощью Maven 2.2.1. Мы используем PropertyPlaceholderConfigurer
bean-компоненты в Spring для загрузки свойств для настройки таких вещей, как база данных. Довольно стандартные вещи. У нас также есть два разных набора тестов: модульные тесты и интеграционные тесты.
Я хотел бы иметь возможность использовать разные файлы свойств, чтобы по-разному конфигурировать такие вещи, как URL базы данных для двух разных типов тестов. Например, я хочу, чтобы модульные тесты использовали базу данных localhost
, а интеграционные тесты - базу данных mydatabase.example.com
.
Я пробовал несколько вариантов, где я размещаю файлы свойств в отдельных подкаталогах (один для модульных тестов и один для интеграционных тестов). Оттуда я попробовал что-то вроде использования тега additionalClasspathElements
для maven-failsafe-plugin
, но, похоже, это не сработало вообще. Я попытался использовать maven-antrun-plugin
для копирования файлов в target/classes
, но это не сработало, когда я запустил mvn verify -Dtest=sometest
.
Я также попытался использовать systemPropertyVariables
в maven, чтобы установить свойство с именем buildEnvironment
, которое затем попытался сослаться в своем определении bean-компонента Spring:
<property name="locations">
<value>classpath:${buildEnvironment}/my-test.properties</value>
</property>
Но Весна отказалась решить ${buildEnvironment}
. На данный момент у меня нет идей. Я уверен, что есть хороший, простой способ сделать это, но я не могу понять это.
Любой совет будет принят с благодарностью.