我正在尝试使用maven配置文件设置上下文参数的值。 假设我在 WEB-INF / web.xml 中有以下布尔Ctx参数:
<context-param>
<param-name>EMAIL_DOCS</param-name>
<param-value>${email.docs}</param-value>
</context-param>
我想根据maven个人资料控制该值。 所以我将值添加到我的个人资料的application.properties:
在 src / main / config / dev / application.properties
中...
email.docs=true
...
我将以下插件添加到 pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<filteringDeploymentDescriptors>true</filteringDeploymentDescriptors>
<webResources>
<resource>
<filtering>true</filtering>
<directory>src/main/webapp</directory>
<includes>
<include>**/web.xml</include>
</includes>
</resource>
</webResources>
<warSourceDirectory>src/main/webapp</warSourceDirectory>
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
</configuration>
</plugin>
我的个人资料 application.properties 可通过此插件阅读:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${profile.resources}/application.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
在maven个人资料中定义 $ {profile.resources} :
<profile>
<id>dev</id>
<properties>
<env>integration</env>
<profile.resources>src/main/config/dev</profile.resources>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
我基于类似的问题和很少的建议做了以上,但到目前为止我没有任何作用。我不确定我在这里缺少什么? (我正在使用maven v3.2.2)