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]
什麼的。這也可能是相關的。