Использование войны исключает в pom.xml - PullRequest
1 голос
/ 13 мая 2011

Документация maven для этого должна быть неправильной.

Вот различные перестановки, которые я пробовал, но все не смогли исключить файл:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <warSourceExcludes>**/*server.properties</warSourceExcludes>
    </configuration>
  </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <webResources>
        <resource>
          <!-- this is relative to the pom.xml directory -->
          <directory>src/main/resources/com/mycom/myapplication/</directory>
          <!-- there's no default value for this -->
          <excludes>
            <exclude>**/*server.properties</exclude>
          </excludes>
        </resource>
      </webResources>
    </configuration>
  </plugin>

В записи списка рассылки предлагается использовать эту более старую версию и список строк:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
    <version>2.0.1</version>
    <configuration>
      <webResources>
        <resource>
          <!-- this is relative to the pom.xml directory -->
          <directory>src/main/resources/com/pictage/provendirect/</directory>
          <!-- there's no default value for this -->
          <excludes>**/*server.properties</excludes>
        </resource>
      </webResources>
    </configuration>
  </plugin>

Что приводит к:

(найдено статическое выражение: ' / * server.properties', которое может действовать как значение по умолчанию).Причина: Невозможно назначить запись конфигурации «исключает» для «интерфейса java.util.List» из « / * server.properties», который имеет тип класса java.lang.String

Также пробовал:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.0.1</version>
    <configuration>
      <packagingExcludes>
        **/server.properties
      </packagingExcludes>
    </configuration>
  </plugin>

Есть идеи?Я схожу с ума от этого.

1 Ответ

0 голосов
/ 18 мая 2011

Более внимательное прочтение maven docs предполагает:

<configuration>
  <webResources>
    <resource>

следует использовать только при исключении ресурсов вне / src / main / resources. Чтобы сделать это внутри этой папки, вам нужно использовать параметры warSourceExclude и, возможно, warSourceDirectory, если свойство не находится в корне каталога.

Я немного плачу изнутри, когда мне требуется несколько часов, чтобы сделать что-то с помощью конфигурации в maven, когда это можно было бы обработать за две секунды с помощью языка сценариев, но я думаю, что это «правильный» способ реализовать это.

...