Hi guys,
I am trying to implement a plexus converter to implement MEAR-8. I need to
be able to retrieve a piece of XML from the pom, validate it and inject it
in the auto-generated application.xml.
Sample pom:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-ear-plugin</artifactId>
<configuration>
<resourcesDir>${basedir}/META-INF</resourcesDir>
<security>
<security-role id="SecurityRole_1131964323008">
<description></description>
<role-name>manager</role-name>
</security-role>
<security-role id="SecurityRole_1131964323018">
<description></description>
<role-name>teller</role-name>
</security-role>
</security>
</configuration>
</plugin>
I have create an EarSecurity POJO with a list of SecurityRole POJOs. This
field is defined as a security parameter in the GenerateApplicationXmlMojo
/**
* The security-roles to be added to the auto-generated
* application.xml file.
*
* @parameter
*/
private EarSecurity security;
I am now trying to register my converter so I put the following in
src/main/resources/META-INF/plexus/components.xml:
<plexus>
<components>
<component>
<role>
org.codehaus.plexus.component.configurator.converters.basic.AbstractBasicConverter
</role>
<role-hint>EarSecurity</role-hint>
<implementation>
org.apache.maven.plugin.ear.security.EarSecurityConverter</implementation>
</component>
</components>
</plexus>
However, If I try to use my security param locally, it still uses the
default converter
Caused by:
org.codehaus.plexus.component.configurator.ComponentConfigurationException:
Cannot find setter nor field in
org.apache.maven.plugin.ear.security.EarSecurity for 'securityRole'
at
org.codehaus.plexus.component.configurator.converters.ComponentValueSetter
.<init>(ComponentValueSetter.java:68)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration
(ObjectWithFieldsConverter.java:134)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.fromConfiguration
(ObjectWithFieldsConverter.java:90)
at
org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.configure
(ComponentValueSetter.java:247)
at
org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration
(ObjectWithFieldsConverter.java:137)
at
org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent
(BasicComponentConfigurator.java:56)
at org.apache.maven.plugin.DefaultPluginManager.populatePluginFields
(DefaultPluginManager.java:1030)
Can anyone help me?
Thanks,
Stéphane
--
.::You're welcome ::.