Обзор
Простой способ настроить плагин Maven Resources без добавления классов Java - это определить фильтр ресурсов . В целях примера мы настроим spring-config.xml
, используя свойства, определенные в pom.xml
.
pom.xml
Файл pom.xml
определяет свойство следующим образом:
<project>
<properties>
<environment.deploy>local</environment.deploy>
</properties>
...
Затем в разделе build
укажите расположение ресурсов (файлов), в которых будут заменены переменные. В следующем примере будет обновлен только файл spring-config.xml
:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>spring-config.xml</include>
</includes>
</resource>
</resources>
</build>
</project>
Синтаксис для pom.xml
является мощным и может использоваться для замены значений в ряде файлов, таких как:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*included_filename.xml</include>
</includes>
</resource>
</resources>
Возможны исключения:
<excludes>**/*excluded_filename.xml</excludes>
Если только к одному файлу необходимо применить переменные, настройте разные resource
s, например:
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>spring-config.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
Это обеспечит связывание всех файлов, но только spring-config.xml
будет изменено.
весна-config.xml
Расположенный в src/main/resources
относительно корневого каталога проекта, можно использовать свойства, загруженные Maven. Например:
<beans ...>
<bean ...>
<property name="deploymentEnvironment">
<list>
<value>${environment.deploy}</value>
</list>
</property>
</bean>
В процессе сборки Maven заменяет value
выше в файле цели spring-config.xml
:
<beans ...>
<bean ...>
<property name="deploymentEnvironment">
<list>
<value>local</value>
</list>
</property>
</bean>
Внешние свойства
Для действительно предприимчивых свойств Maven можно также загрузить из внешних файлов .