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. Таким образом, каждый плагин будет обрабатывать свою сборку, и вы можете добавить зависимость от этих модулей.