Maven Exposing файлы свойств appassembler
Чтобы загрузить специфичные для среды значения, в моей папке src / main / resources у меня есть несколько файлов свойств в разных подпапках, т.е.
- ком / приложение / WS / webservices-dev.properties
- ком / приложение / WS / webservices-test.properties
- ком / приложение / JMS / jms-dev.properties
- ком / приложение / JMS / jms-test.properties
Я загружаю эти свойства через весну
<bean id="placeholderProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:/com/app/jms/jms-${ENVIRONMENT:dev}.properties</value>
<value>classpath:/com/app/ws/webservices-${ENVIRONMENT:dev}.properties</value>
</list>
</property>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreResourceNotFound" value="true" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="order" value="0" />
</bean>
ОКРУЖАЮЩАЯ СРЕДА является переменной среды.
Я использую appassembler-maven-plugin для генерации исполняемого файла.sh.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.2.2</version>
<configuration>
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
<programs>
<program>
<mainClass>com.app.MainApp</mainClass>
<name>MainApp</name>
</program>
</programs>
</configuration>
</plugin>
В результате этого все мои файлы свойств становятся частью моего сгенерированного файла JAR. Я хочу раскрыть некоторые свойства, чтобы установить их значения во время развертывания. Я пробовал следующую конфигурацию
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.2.2</version>
<configuration>
<configurationSourceDirectory>src/main/resources/com/app/bootstrap</configurationSourceDirectory>
<configurationDirectory>conf</configurationDirectory>
<copyConfigurationDirectory>true</copyConfigurationDirectory>
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
<binFileExtensions>
<unix>.sh</unix>
</binFileExtensions>
<programs>
<program>
<mainClass>com.app.MainApp</mainClass>
<name>MainApp</name>
</program>
</programs>
</configuration>
</plugin>
Но Spring не загружает свойства; возможно из-за заданного пути в весеннем конфиге (см. выше).
Какую конфигурацию maven я должен использовать, чтобы переместить мои файлы свойств в папку appassembler \ conf во время пакета и получить весеннюю загрузку их из пути к классам. Мне нужна конфигурация, которая работает как для разработки (в eclipse, модульных тестах в виде сборок maven), так и при развертывании.