基于maven配置文件激活context-param

时间:2016-02-25 21:52:31

标签: maven

我正在尝试使用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)

0 个答案:

没有答案