Как переопределить параметры maven-war-plugin, определенные в родительском pom.xml? - PullRequest
1 голос
/ 02 ноября 2011

Я пытаюсь построить проект Grails с Maven. Само по себе это не было бы так сложно. Но требуется, чтобы у pom.xml в моем проекте была определенная корпоративная помпа, поскольку она является родительской.

В родительском 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, чтобы maven:

  1. Не ищите web.xml файл вообще.
  2. Найдите файл 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] или что-то в этом роде Это также может быть актуально.

1 Ответ

1 голос
/ 14 ноября 2011

Мое решение:

Заменить

<packaging>war</packaging>

с

<packaging>grails-app</packaging>
...