Плагин сборки Maven не перезаписывает файлы на этапе компиляции - PullRequest
2 голосов
/ 25 апреля 2011

Я определил плагин сборки maven и установил pom для запуска плагина (assembly.xml) в фазе «компиляции». assembly.xml - он получает файлы jars / files с использованием «dependencySet», и я заменяю несколько файлов своим локальным набором, используя «fileSet».

С плагином сборки Maven 2.2 beta 2 он заменит файлы. С версией 2.2 или 2.2.1 сборочного плагина, а) написано "уже добавлено, пропущено" и не перезаписывается. б) если я изменяю фазу на «генерировать ресурсы» вместо «компилировать» в pom, она показывает сообщение «уже добавлено, пропущено» и в любом случае заменяет / перезаписывает файлы.

Хотелось бы знать, что изменилось между версиями и почему изменение фазы заставило бы его работать. Также было бы полезно, если бы кто-то мог объяснить, что именно происходит в фазе «компиляции» (чтобы она не перезаписывалась). Есть ли решение для моей проблемы?

Заранее спасибо за помощь!

Включен фрагмент:

`<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2</version>
  <executions>
    <execution>
      <id>create-install-image-layout</id>
      <phase>compile</phase>
      <goals>
        <goal>directory-single</goal>
      </goals>
      <configuration>
        <descriptors>
           <descriptor>src/main/assembly/assembly.xml</descriptor>                                              
        </descriptors>                                     
        <ignoreDirFormatExtensions>false</ignoreDirFormatExtensions>
      </configuration>
    </execution>
  </executions>
 </plugin>`

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Целевой каталог-одиночка помечается как устаревший.Кроме того, новейшая версия maven-assembly-plugin - 2.2.2 вместо 2.2.Кроме того, для создания архива для любых целей правильной фазой будет фаза пакета, а не фаза компилятора, где будет выполняться компиляция исходников.

0 голосов
/ 26 апреля 2011

Какую цель вы выполняете?Вы выполняете чистоту в первую очередь?Возможно, пропущена фаза компиляции, потому что код уже скомпилирован.

...