Почему мой плагин Maven не получает родительские свойства?

StackOverflow https://stackoverflow.com/questions/1223120

  •  11-07-2019
  •  | 
  •  

Вопрос

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

Что я могу делать не так? Я упаковываю свой проект как maven-плагин, и он собирается нормально.

Это было полезно?

Решение

Я сам видел это, и это сводило меня с ума, пока я не отладил внутреннее устройство Plexus. Я предполагаю, что свойства не наследуются, когда родитель находится в другом плагине?

В этом случае приведенное ниже объяснение поможет. Если это не так, это может быть опечатка в аннотациях Javadoc. Maven будет пропускать любые теги, которые он не распознает, без предупреждения.

Если это не так, можете ли вы опубликовать немного больше деталей? возможно, пример неудачного Моджо?

<Ч>

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

Плагины Maven используют аннотации Javadoc для определения зависимостей, деклараций целей и других конфигураций (в Maven 2.1 введены правильные аннотации Java, но вряд ли их используют пока какие-либо плагины). После того, как плагин был установлен / развернут, Javadoc теряется, поэтому любой плагин, который расширяет плагин в другом jar , не будет иметь доступа к свойствам, определенным в сплетении в родительском .

Хотя есть обходной путь. Метаданные плагина выводятся в META-INF / maven / plugin.xml. Существует сторонний плагин , который читает информацию из plugin.xml родительского Mojo и объединяет с ним метаданные локального плагина. Ваш плагин должен работать как обычно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top