Domanda

Quando faccio estendere un plug-in a un altro, normalmente eredita le proprietà dal genitore. A volte però non funziona. Quando il plug-in è caricato, le proprietà del genitore sono tutte nulle

Cosa potrei fare di sbagliato? Pacco il mio progetto come un plugin maven e si costruisce bene.

È stato utile?

Soluzione

L'ho visto da solo e mi ha fatto impazzire fino a quando non ho eseguito il debug degli interni del plesso. Immagino che le proprietà non siano ereditate quando il genitore si trova in un altro plugin?

In tal caso, la spiegazione seguente sarà di aiuto. In caso contrario, potrebbe essere un refuso nelle annotazioni Javadoc. Maven salterà tutti i tag che non riconosce senza preavviso.

Se non è nessuno dei due, puoi pubblicare qualche dettaglio in più? forse un esempio del fallimento Mojo?


Se il genitore fa parte di un altro progetto, ecco il motivo per cui stai riscontrando problemi.

I plugin Maven usano le annotazioni Javadoc per definire le dipendenze, le dichiarazioni degli obiettivi e altre configurazioni (Maven 2.1 ha introdotto le appropriate annotazioni Java ma quasi nessun plug-in le usa ancora). Una volta installato / distribuito il plug-in, Javadoc viene perso, quindi qualsiasi plug-in che estende un plug-in in un altro vaso non avrà accesso alle proprietà definite dal plesso nel genitore .

Tuttavia esiste una soluzione alternativa. I metadati del plug-in vengono emessi in META-INF / maven / plugin.xml. Esiste un plugin di terze parti che legge le informazioni dal plugin.xml principale di Mojo e unisce i metadati del plugin locale con esso. Il tuo plugin dovrebbe quindi funzionare normalmente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top