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