Pregunta

Cuando hago que un complemento extienda a otro, normalmente hereda las propiedades del padre. Sin embargo, a veces no funciona. Cuando se carga el complemento, las propiedades del padre son nulas

¿Qué podría estar haciendo mal? Empaquete mi proyecto como un complemento maven y se construye bien.

¿Fue útil?

Solución

Lo he visto yo mismo y me volvió loco hasta que depuré las partes internas del Plexo. ¿Supongo que las propiedades no se heredan cuando el padre está en otro complemento?

Si ese es el caso, la explicación a continuación ayudará. Si no es así, podría ser un error tipográfico en las anotaciones Javadoc. Maven omitirá cualquier etiqueta que no reconozca sin previo aviso.

Si no es ninguno de estos, ¿puedes publicar un poco más de detalle? tal vez un ejemplo de la falla de Mojo?


Si el padre está en otro proyecto, esta es la razón por la que tiene problemas.

Los complementos de Maven usan anotaciones Javadoc para definir las dependencias, declaraciones de objetivos y otras configuraciones (Maven 2.1 introdujo las anotaciones de Java adecuadas, pero casi ningún complemento aún las usa). Una vez que el complemento se ha instalado / implementado, el Javadoc se pierde, por lo que cualquier complemento que extienda un complemento en otro jar no tendrá acceso a las propiedades definidas por el plexo en el elemento primario .

Sin embargo, hay una solución alternativa. Los metadatos del complemento se envían a META-INF / maven / plugin.xml. Hay un complemento de terceros que lee la información del plugin.xml de Mojo padre y combina los metadatos del complemento local con él. Su complemento debería funcionar normalmente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top