У меня есть проект, который требует, чтобы конкретные настройки проекта были в глобальном mvn settings.xml
. (Смотри внизу, почему.)
Это прекрасно работает для этого проекта, но когда я работаю над другим проектом, я не хочу, чтобы зеркало применялось.
Моя структура каталогов выглядит примерно так:
projects
projA
comp1
comp2
sub2a
sub2b
projb
comp1
comp2
comp3
sub3a
sub3b
Если я строю из ~/projects/projA
или из любого подкаталога, я хочу, чтобы <mirror>
был активным. Если я строю из дерева ~/projects/projB
, я не хочу, чтобы оно было активным.
Я мог бы сделать эту работу, поместив его в профиль и активировав профиль на основе значения user.dir
. Однако мне (я думаю) нужно будет повторить это для каждого подкаталога, так как при активации свойства используется точное совпадение. В моей реальной системе есть 69 подкаталогов, так что это много дублирует. Кроме того, по мере развития проекта может появиться больше подкаталогов, и я хотел бы, чтобы это работало, вместо того, чтобы требовать, чтобы я заметил, что существует новый каталог, и не забудьте добавить его в мой settings.xml
.
Есть ли способ активировать профиль в зависимости от того, в каком дереве каталогов я нахожусь?
Зачем мне нужны настройки проекта в глобальных настройках
Я использую плагин плиток , который изменяет родителя pom, прежде чем большая часть pom будет проанализирована. Плитки хранятся на локальном, специфичном для проекта сервере, поэтому мне нужно создать <mirror>
для плагина, чтобы найти плитки. Элемент <mirror>
не может быть помещен в пом, поэтому он должен быть в моем глобальном settings.xml
. Подробнее здесь