2015-06-03 2 views
2

Основываясь на этом comment я пытаюсь скопировать пустой каталог из папки тестирования ресурсов в Maven проект, основанный на выходе тест сборки, но не повезло. Я уже успешно использую maven-resource-plugin для копирования основных ресурсов, поэтому я попытался добавить еще один выполнение части для тестирования ресурсов, как это мой pom.xml:Копировать пустой каталог из ресурсов тестирования в Maven

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.7</version> 
    <executions> 
     <execution> 
      <id>copy-resource</id> 
      <phase>package</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <includeEmptyDirs>true</includeEmptyDirs> 
       <outputDirectory>${project.build.outputDirectory}</outputDirectory> 
       <resources> 
        <resource> 
         <directory>src/main/resources</directory> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
     <execution> 
      <id>copy-test-resource</id> 
      <phase>package</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <includeEmptyDirs>true</includeEmptyDirs> 
       <outputDirectory>${project.build.testSourceDirectory}</outputDirectory> 
       <resources> 
        <resource> 
         <directory>src/test/resources</directory> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Я также попытался определить его в сборках секции, как это:

<testResources> 
    <testResource> 
     <directory>src/test/resources</directory> 
    </testResource> 
</testResources> 

, но это также не помогло.

Все файлы и непустые каталоги правильно копируются, но в одном пустом каталоге нет.

Спасибо за любую помощь или совет.

+0

Вы можете просто поставить dotfile там? – chrylis

+0

@chrylis Что вы подразумеваете под dotfile? –

+0

Вы могли бы запустить с '-X' и опубликовать весь вывод здесь –

ответ

2

Наконец-то я решил это!

Проблема была в том, что элемент <includeEmptyDirs> был не в том месте в разделе плагина. он должен быть частью конфигурации плагина , НЕ является частью конфигурации выполнения.

Также я изменил цель copy-test-resource к testResources и outputDirectory к ${project.build.testOutputDirectory}

Так правильный раздел плагин следующее:

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.7</version> 
    <configuration> 
     <includeEmptyDirs>true</includeEmptyDirs> 
    </configuration> 
    <executions> 
     <execution> 
      <id>copy-resource</id> 
      <phase>package</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.outputDirectory}</outputDirectory> 
       <resources> 
        <resource> 
         <directory>src/main/resources</directory> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
     <execution> 
      <id>copy-test-resource</id> 
      <phase>package</phase> 
      <goals> 
       <goal>testResources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.testOutputDirectory}</outputDirectory> 
       <resources> 
        <resource> 
         <directory>src/test/resources</directory> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
Смежные вопросы