如何在src / main / webapp中的所有文件中扩展Maven属性?

时间:2014-10-27 14:50:13

标签: maven java-ee war context.xml maven-resources-plugin

我想在src/main/webapp/META-INF/context.xml中添加一些Maven属性(*)。

(*)例如${data-source-name}${data-source-factory}${jdbc-connection-url}等等 - 但用已故伟大的莱斯利尼尔森的话来说,现在并不重要。

认为这可以通过以下maven-resource-plugin配置:

之类的东西实现
<build>
  <resources>
    <resource>
      <directory>src/main/webapp</directory>
      <includes>
        <include>**/*</include>
      </includes>
      <filtering>true</filtering>
    </resource>
  </resources>
</build>

但是这导致WAR文件中有两个版本的context.xml:

\META-INF\context.xml                 <=== Properties *not* expanded
\WEB-INF\classes\META-INF\context.xml <=== Properties expanded

我哪里错了?

1 个答案:

答案 0 :(得分:3)

经过一番谷歌搜索后,我发现如何使用maven-war-plugin而不是maven-resources-plugin来实现:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <configuration>
        <webResources>
          <resource>
            <directory>src/main/webapp</directory>
            <filtering>true</filtering>
          </resource>
        </webResources>
      </configuration>
    </plugin>
  </plugins>
</build>