我想在我的src/main/liberty/config/server.xml中使用maven 过滤,而不会破坏maven-liberty-plugin中对liberty:dev的使用。我最大的问题似乎是liberty-maven-plugin不支持过滤。
例如,考虑这个webApplication元素:
<webApplication id="${project.artifactId}" contextRoot="/"
location="${server.config.dir}/apps/${project.artifactId}.war">
</webApplication>
在没有任何其他指导的情况下,这个文件被复制到target/liberty/wlp/usr/servers/defaultServer/server.xml没有任何过滤,所以运行时找不到 WAR 文件。
假设我使用maven-resources-plugin手动打开过滤:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>01-liberty-config</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/liberty/wlp/usr/servers/defaultServer</outputDirectory>
<resources>
<resource>
<directory>src/main/liberty/config</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
现在过滤工作并且文件位于正确的位置。不幸的是,我观察到当我运行mvn liberty:dev时,它会被来自src/main/liberty/config/server.xml的未过滤server.xml覆盖。
是否可以在server.xml中使用 Maven 过滤?