我有使用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
复制。
答案 0 :(得分:-2)
尝试从maven资源中排除该文件:
<build>
...
<resources>
<resource>
<directory>src/main/webapp</directory>
<excludes>
<exclude>app.policy</exclude>
</excludes>
</resource>
...
</resources>
...
</build>
如果这样可行,则可以将此配置添加到maven配置文件中。