You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Stuart McCulloch (JIRA)" <ji...@apache.org> on 2007/05/17 16:17:16 UTC

[jira] Commented: (FELIX-281) NullPointerException caused by empty Export-Package directive

    [ https://issues.apache.org/jira/browse/FELIX-281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12496579 ] 

Stuart McCulloch commented on FELIX-281:
----------------------------------------

This issue needs a minor fix to the plugin code (see attached patch) to avoid putting null values into the hashtable - which, unlike a hashmap, cannot handle null keys or null values. The exception occurs before BND is actually called.

> NullPointerException caused by empty Export-Package directive
> -------------------------------------------------------------
>
>                 Key: FELIX-281
>                 URL: https://issues.apache.org/jira/browse/FELIX-281
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: 1.0.0
>         Environment: NA
>            Reporter: Steven E. Harris
>            Priority: Minor
>         Attachments: FELIX_281_20070511.txt
>
>
> Per the discussion in the following felix-dev mailing list thread:
>   NPE in maven-bundle-plugin -- empty Export-Package directive
>   http://www.mail-archive.com/dev@felix.apache.org/msg00107.html
> trying to specify an empty ExportPackage directive causes a NullPointerException in the maven-bundle-plugin with the following stack trace:
> java.lang.NullPointerException
>         at java.util.Hashtable.put(Hashtable.java:394)
>         at java.util.Hashtable.putAll(Hashtable.java:466)
>         at org.apache.felix.tools.maven2.bundleplugin.BundlePlugin.execute(BundlePlugin.java:151)
>         at org.apache.felix.tools.maven2.bundleplugin.BundlePlugin.execute(BundlePlugin.java:115)
>         at org.apache.felix.tools.maven2.bundleplugin.BundlePlugin.execute(BundlePlugin.java:110)
>         at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:420)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:330)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:123)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
>         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.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> If I leave the Export-Package directive out, the plugin complains about the synthesized default value not applying to any packages. Alternately, specifying "!*" yields a warning as well.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.