2013-04-10 1 views
1

Я минимизирую и агрегирую свои файлы css с помощью плагина miv YuICompressor maven, который создает один файл css в базе моего каталога ресурсов. Эти исходные файлы css вложены в некоторые папки, которые также имеют папку «images» на том же уровне.Почему файлы изображений не копируются плагином maven-resources?

Я хочу скопировать все изображения, находящиеся в этих папках вложенных изображений, в одну папку «images» в базе моего ресурса dir, чтобы агрегированные css все еще могли ссылаться на эти изображения.

Вот моя конфигурация плагина:

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.6</version> 
    <executions> 
     <execution> 
      <id>copy-images-for-css</id> 
      <!-- here the phase you need --> 
      <phase>process-resources</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>target/${project.artifactId}-${project.version}/plugin/resources/${plugin.client.version}/images</outputDirectory> 
       <resources> 
        <resource> 
         <directory>target/${project.artifactId}-${project.version}/plugin/resources/${plugin.client.version}</directory> 
         <includes> 
          <include>**/images/*.*</include> 
         </includes> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Для тестирования это, я поставил файл .js в вложенных изображениях файл вместе с .gif и .jpg файлов Я желаю, чтобы скопировать. Однако, только файл .js перемещается в нужное место; с файлами изображений ничего не происходит.

Что дает?

UPDATE 1:

Более визуальное описание структуры каталогов:

resources 
|--1.1.0 
    |--all.min.css 
    |--images   //a newly created folder 
     |--sample1.gif //the copied file 
     |--sample2.gif //the copied file 
    |--category 
     |--category.css 
     |--images 
     |--sample1.gif 
    |--otherCategory 
     |--otherCategory.css 
     |--images 
     |--sample2.gif 

UPDATE 2: Я просто пытался выполнять копию с copy-maven-plugin и имели один и тот же результат, файл js копируется, но не файлы изображений. Не уверен, что эти плагины имеют общие функциональные возможности, но если нет, это заставляет меня думать, что что-то не имеет отношения к плагину. Я могу скопировать файлы с помощью командной строки Windows.

+0

вы можете предоставить простую иерархию папок, есть и те, которые вы пытаетесь достичь? – maks

+0

Вы фильтруете ресурсы в теге тега ? – maks

+0

@maks Нет, это единственное событие тега ресурсов в моем файле pom. – Noremac

ответ

1

Я не уверен в сроках копирования ресурсов в целевой каталог, но кажется, что изображений просто не было вовремя для копии. Я понял, что нет никакой реальной причины для копирования из целевого каталога вместо моего источника. Я обновил каталог, как показано ниже, и изображения были успешно скопированы.

До:

<directory>target/${project.artifactId}-${project.version}/plugin/resources/${plugin.client.version}</directory> 

После:

<directory>src/main/webapp/plugin/resources/${plugin.client.version}</directory> 
1

Попробуйте заменить <include>**/images/*.*</include> на <include>**/images/*</include>. Но это довольно странно, почему это не работает с вашим вариантом. Также для вашего случая лучше использовать плагин assembly

+0

Данное предложение не работает, оно также копирует только файл js. Что касается плагина сборки, разве это не создаст вторую «сборку», кроме военного файла, построенного из моего пом? – Noremac

+0

Нет, вам нужно объявить в специальном файле содержимое сборки, которую вы хотите создать. Прочитайте документацию по плагину сборки maven, есть специальные опции для битв, zip, jar assemblysies – maks

+0

+1 для направления мне в сборку плагина – Noremac