Question

Lorsque je force un plugin à en étendre un autre, il hérite normalement des propriétés du parent. Parfois, cela ne fonctionne pas bien. Lorsque le plugin est chargé, les propriétés du parent sont toutes nulles

Qu'est-ce que je peux faire de mal? Je compresse mon projet en tant que maven-plugin et tout se passe bien.

Était-ce utile?

La solution

Je l'ai vu moi-même et cela m'a rendu fou jusqu'à ce que je débogue les composants internes du plexus. Je suppose que les propriétés ne sont pas héritées lorsque le parent est dans un autre plugin?

Si tel est le cas, l'explication ci-dessous vous aidera. Si ce n'est pas le cas, il peut s'agir d'une faute de frappe dans les annotations Javadoc. Maven ignorera les balises qu'il ne reconnaît pas sans avertissement.

Si ce n'est ni l'un ni l'autre, pouvez-vous poster un peu plus de détails? peut-être un exemple de l'échec de Mojo?

Si le parent est dans un autre projet, voici la raison pour laquelle vous rencontrez des problèmes.

Les plug-ins Maven utilisent des annotations Javadoc pour définir les dépendances, les déclarations d'objectifs et d'autres configurations (Maven 2.1 a introduit les annotations Java correctes mais pratiquement aucun plug-in ne les utilise encore). Une fois le plugin installé / déployé, la Javadoc est perdue. Ainsi, tout plugin qui étend un plugin dans un autre jar n'aura pas accès aux propriétés définies par le plexus dans le parent .

Il existe cependant une solution de contournement. Les métadonnées du plugin sont sorties vers META-INF / maven / plugin.xml. Il existe un plug-in tiers qui lit les informations. à partir du plugin.xml du Mojo parent et fusionne les métadonnées du plugin local avec elle. Votre plugin devrait alors fonctionner normalement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top