Carsten Ziegeler created FELIX-3917:
---------------------------------------

             Summary: Potential NPE if bind/unbind method can't be found during 
validation
                 Key: FELIX-3917
                 URL: https://issues.apache.org/jira/browse/FELIX-3917
             Project: Felix
          Issue Type: Bug
          Components: Maven SCR Plugin
    Affects Versions: scr generator 1.4.0, scr ant task 1.4.0, 
maven-scr-plugin-1.10.0
            Reporter: Carsten Ziegeler
            Assignee: Carsten Ziegeler
             Fix For: maven-scr-plugin-1.10.2, scr ant task 1.4.2, scr 
generator 1.4.2


>From the mailing list:

I just updated to maven-scr-plugin:1.10.0 and 
org.apache.felix.scr.annotations:1.8.0 and I have this component:

@Component(name = "org.example.component", immediate = true, policy = 
ConfigurationPolicy.IGNORE)
public final class ContextRegistrator {

    @Reference
    HttpService httpService;

}

I didn't have the bind/unbind method but the plugin generated the names and put 
them into the Descriptor. The build was success but then it didn't work because 
SCR didn't find the non existing methods so I added the generateAccessors 
property to the plugin:

                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-scr-plugin</artifactId>
                    <version>1.10.0</version>
                    <configuration>
                        <generateAccessors>false</generateAccessors>
                    </configuration>
                </plugin>

When I build the project now it fails with this exception.

Execution generate-scr-scrdescriptor of goal 
org.apache.felix:maven-scr-plugin:1.10.0:scr failed. NullPointerException -> 
[Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.apache.felix:maven-scr-plugin:1.10.0:scr (generate-scr-scrdescriptor) on 
project openidm-httpcontext: Execution generate-scr-scrdescriptor of goal 
org.apache.felix:maven-scr-plugin:1.10.0:scr failed.
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at 
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at 
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution 
generate-scr-scrdescriptor of goal org.apache.felix:maven-scr-plugin:1.10.0:scr 
failed.
        at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        ... 19 more
Caused by: java.lang.NullPointerException
        at 
org.apache.felix.scrplugin.helper.Validator.validateMethod(Validator.java:523)
        at 
org.apache.felix.scrplugin.helper.Validator.validateReference(Validator.java:465)
        at 
org.apache.felix.scrplugin.helper.Validator.validate(Validator.java:189)
        at 
org.apache.felix.scrplugin.SCRDescriptorGenerator.execute(SCRDescriptorGenerator.java:214)
        at 
org.apache.felix.scrplugin.mojo.SCRDescriptorMojo.execute(SCRDescriptorMojo.java:248)
        at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        ... 20 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to