У меня есть файл фильтра в src/main/filters/base.properties
с содержимым:
testProperty=testValue
В моем POM определены ресурсы, фильтрация и дополнительные веб-ресурсы (с использованием плагина maven-war). Он также переопределяет разделитель фильтрации по умолчанию.
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<filters>
<filter>src/main/filters/base.properties</filter>
</filters>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<overwrite>true</overwrite>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/more-web-resources</directory>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
Вся фильтрация отлично работает для файлов, расположенных в src/main/resources
. Однако файл конфигурации, расположенный в src/main/more-web-resources
, не фильтруется должным образом. Итак, если у меня есть файл src/main/more-web-resources/test.properties
с содержимым:
finalTestProperty=@testProperty@
Окончательный файл src/main/webapp/test.properties
выглядит так:
finalTestProperty=@testProperty@
В отличие от:
finalTestProperty=testValue
Таким образом, фильтрация просто не работает для дополнительных веб-ресурсов, указанных с помощью плагина maven-war-plugin. Что мне не хватает?
more-web-resources
должно быть подsrc/main/resources
. - person tsolakp   schedule 10.01.2018src/main/resources
будет означать, что они окажутся вWEB-INF/classes
, чего я не хочу. Я хочу их прямо в ВОЙНЕ. - person MegaMatt   schedule 10.01.2018<resource><directory>src/main/more-web-resources</directory></resource>
- person tsolakp   schedule 10.01.2018