1
我想用maven构建一个grails项目。就其本身而言,这不会那么难。但要求我项目中的pom.xml
有一定的企业pom,因为它是父项。如何覆盖在父pom.xml中定义的maven-war-plugin的参数?
父POM中有很多事情是我们在这里部署过程很重要,但它也包含以下内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory>webapp</warSourceDirectory>
<webXml>webapp/WEB-INF/web.xml</webXml>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
</plugin>
如果我理解正确的话,这告诉Maven来寻找一个web.xml
文件webapp/WEB-INF
。在这一点上,我的项目没有web.xml
文件,尽管它可能更晚。我如何可以覆盖web.xml
文件的位置的这个规范,这样会行家:
- 不会去寻找
web.xml
档案。 - 在其他地方查找
web.xml
文件。
正因为如此,编译和运行测试后,Maven的报道:
Tests PASSED - view reports in target\test-reports
[INFO] [war:war {execution: default-war}]
[INFO] Packaging webapp
[INFO] Assembling webapp[myapp] in [C:\code\workspace\myapp\myapp\target\myapp-current]
[INFO] Processing war project
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] The specified web.xml file 'C:\code\workspace\myapp\myapp\webapp\WEB-INF\web.xml' does not exist
[INFO] ------------------------------------------------------------------------
我认为这是有趣的,是正在执行的命令是[war:war {execution: default-war}]
而不是[grails:war]
什么的。这也可能是相关的。