从src / main / webapp中排除目录,从复制到target / app-SNAPSHOT目录

时间:2010-08-19 11:13:06

标签: gwt maven-2

我有使用maven构建.war文件的项目。有标准src/main/webapp目录。我还有一些由GWT maven插件编译的GWT代码。有时我从Eclipse运行GWT应用程序,然后GWT Eclipse插件将其编译为src/main/webapp/app.policy(app.policy是我的GWT模块的名称)。这没关系。

app
|-src/main/webapp
| |-app.policy              (directory created by Eclipse GWT plugin)
|target
  |-app-1.0-SNAPSHOT        (directory created by Maven while building war)
  | |-app.policy            
  |-app-1.0-SNAPSHOT.war

如果src/main/webapp/app.policy不存在,gwt-maven-plugin会创建target/app-1.0-SNAPSHOT/app.policy并且它包含在WAR中。这是理想的行为。

问题是src/main/webapp/app.policy是否存在。然后它被复制到target/app-1.0-SNAPSHOT/app.policy并且没有被gwt-maven-plugin创建的内容完全覆盖。我可以以某种方式排除src/main/webapp/app.policy被复制到target/app-1.0-SNAPSHOT目录吗?

我尝试了<warSourceExcludes>,但它不起作用。它使得app.policy不会进入.war,这不是我想要的。我希望它在.war中,但我希望它由maven-gwt-plugin创建,而不是从src/main/webapp复制。

1 个答案:

答案 0 :(得分:-2)

尝试从maven资源中排除该文件:

  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/webapp</directory>
        <excludes>
          <exclude>app.policy</exclude>
        </excludes>
      </resource>
      ...
    </resources>
    ...
  </build>

如果这样可行,则可以将此配置添加到maven配置文件中。