Исключить каталог из src / main / webapp из копирования в целевой каталог / app-SNAPSHOT - PullRequest
2 голосов
/ 19 августа 2010

У меня есть проект, который создает файл .war с Maven. Существует стандартный каталог src/main/webapp. У меня также есть некоторый код GWT, который скомпилирован плагином GWT maven. Иногда я запускаю приложение GWT из Eclipse, а затем подключаемый модуль 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.

1 Ответ

0 голосов
/ 25 августа 2010

Попробуйте исключить файл из ресурсов maven:

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

Если это работает, вы можете добавить эту конфигурацию в профиль maven.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...