Maven дополнительные источники групповых символов

Я добавляю несколько дополнительных источников в свой проект Maven, и до сих пор все работает хорошо. Я просто хочу сделать дополнительный выбор источника немного более общим, потому что сегодня у меня есть что-то вроде:

<source>client/plugins/plug1/classes</source>
<source>client/plugins/plug2/classes</source>
<source>client/plugins/plug3/classes</source>
<source>client/plugins/plug4/classes</source>
<source>client/plugins/plug5/classes</source>
...

И я хочу сделать это следующим образом:

<source>client/plugins/**/classes</source>

Это потому, что некоторые разработчики не имеют всех плагинов под своим рабочим пространством, и я не хочу изменять свои pom.xml в каждой среде разработки.

К сожалению, этот шаблон не работает - по крайней мере, в Eclipse - потому что папки не помечены как исходные. Я провел небольшое исследование и увидел, что Maven использует шаблоны Ant, но он не работает.

Не могли бы вы сказать мне, если это возможно использовать в <sources> определение?

1 ответ

Решение

Нет, это невозможно.

sources атрибут build-helper-maven-plugin:add-source цель File массив, что означает, что каждый источник должен быть File следовательно, вы не можете использовать шаблон пути Ant. Плагин буквально добавит файл client/plugins/**/classes в качестве исходного каталога (и поскольку он не существует, ничего не произойдет). Это журналы, которые я имел, когда я проверял это:

[INFO] --- build-helper-maven-plugin:1.10:add-source (add-source) @ test ---
[INFO] Source directory: <omitted>\client\plugins\**\classes added.

Но есть вопрос, почему вы хотите такую ​​вещь. Из вашего вопроса неясно, откуда взялись эти "плагины", но вы не должны быть в такой ситуации. Каждый плагин, вероятно, должен быть отдельным модулем многомодульного проекта Maven. Таким образом, каждый плагин будет обрабатывать свою сборку, и вы можете добавить зависимость от этих модулей.

Другие вопросы по тегам