2009-07-09 6 views
12

У меня есть супер pom, в котором я указываю каталог ресурсов для ресурсов. В одном из моих проектов мой pom расширяет этот супер-пом, и я хотел бы добавить дополнительный ресурс. Я пробовал:Добавление дополнительных ресурсов в maven pom

<resources> 
     <resource> 
      <targetPath>/</targetPath> 
      <directory>additionalDir</directory>     
     </resource> 
    </resources> 

Но это приводит к только additionalDir быть в ресурсах и не включает в себя ресурсы супер POM в. Есть ли способ расширить ресурсы суперпома?

ответ

14

Ожидаемое поведение.

Помните, что ваш супер POM наследуется от Maven's default POM и почти любой плагин, который вы определяете в своем pom, фактически отменяет настройку в POM по умолчанию. Например, чтобы включить фильтрацию по умолчанию, вы должны указать путь в своем POM. Вы можете сделать это:

<resources> 
    <resource> 
    <directory>src/main/resources</directory> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

Не это:

<resources> 
    <resource> 
    <filtering>true</filtering> 
    </resource> 
</resources> 

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

+0

спасибо, что уточнить. –

+0

Мне интересно, как это исправить вопрос оп? не могли бы вы прояснить его? Где делать какие-либо изменения – Jaskey

3

См. Страницу usage build-helper-maven-plugin.

+0

Это работает, немного неприятно указывать ' $ {project.outputDirectory}' и ' true', который даже не документирован (но работает). – ggb667

0

Да, maven переопределяет ресурсы родительского ПОМ при переопределении новой секции ресурсов.

Однако простой способ добавления ресурсов является

  1. Удалить раздел ресурсов из вашего POM
  2. Показать эффективную POM
  3. Скопировать ресурсы из вашего эффективного POM в проект
  4. Заменить абсолютные пути на относительные
  5. Добавить дополнительные ресурсы