【问题标题】:Exclude directory from src/main/webapp from copying to target/app-SNAPSHOT directory将 src/main/webapp 中的目录从复制到 target/app-SNAPSHOT 目录中排除
【发布时间】:2011-04-01 01:44:43
【问题描述】:

我有一个使用 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 复制。

【问题讨论】:

    标签: gwt maven-2


    【解决方案1】:

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

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

    如果可行,那么您可以将此配置添加到 Maven 配置文件中。

    【讨论】:

      猜你喜欢
      • 2010-12-12
      • 2018-03-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多