У нас есть собственный плагин, который запускается на этапе initialize
нашей сборки Maven и устанавливает определенные свойства для проекта.У нас также есть зависимость, версия которой зависит от этих свойств.Наша сборка терпит неудачу, потому что версия зависимости недействительна, потому что проект пытается разрешить зависимость до запуска плагина.Есть ли способ обойти это?Потенциальные решения (которые я не знаю, как реализовать):
- Каким-то образом позволяют плагину запускаться до того, как проект действительно даже запускает / пытается разрешить зависимости
- задерживает зависимостьразрешение до более поздней версии в жизненном цикле
Возможны ли эти варианты?
Редактировать: После пары вопросов по контексту я предоставлю некоторые.
Для парыПо разным причинам, поддержание версий в большом родительском (агрегаторном) pom-файле стало для нас большой проблемой, поэтому нам стало действительно целесообразно определять их во внешнем сервисе.Плагин читает в текущих версиях сервиса и устанавливает их в свойствах.Пара этих свойств будет использоваться в качестве версий зависимостей.
Предвидя, что комментарии будут -> «вам следует просто вернуться к использованию большого агрегатора», мы можем .... но это определенно какКрайнее средство.
Редактировать 2: соответствующая часть POM для каждого запроса:
<dependencies>
<dependency>
<groupId>com.myCompany</groupId>
<artifactId>myDep</artifactId>
<version>${myDep.major.version}.${myDep.minor.version}</version>
<type>ear</type>
</dependency>
</dependencies>
Традиционно myDep.major.version
и myDep.minor.version
мы определены в наших родительских pom.xml,
, но теперь мы хотим переместить ихна сервис, который мы используем.