[ 
https://issues.apache.org/jira/browse/FELIX-4005?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stuart McCulloch resolved FELIX-4005.
-------------------------------------

       Resolution: Fixed
    Fix Version/s: maven-bundle-plugin-2.4.0

Fixed in latest 2.4.0-SNAPSHOT that uses bndlib 2.0.0.20130123-133441
                
> Maven Bundle Plugin fails with ArrayIndexOutOfBoundsException, "Invalid Class 
> File" errors with Java 8 features
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-4005
>                 URL: https://issues.apache.org/jira/browse/FELIX-4005
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-2.3.7
>            Reporter: Nick Williams
>            Priority: Blocker
>             Fix For: maven-bundle-plugin-2.4.0
>
>         Attachments: pom.xml
>
>
> I have the POM file attached. Its parent is "com.fasterxml:oss-parent" 
> version 8 (which can be found in central repository). The module I'm creating 
> is a Mapping Jackson plugin that supports the Java 8 Date & Time API. It uses 
> lambda expressions and method references as well. The Maven Bundle Plugin, it 
> would seem, does not like this. I cannot build (which is kind of a big deal). 
> The classes compile fine as you can see, so there isn't a problem with my 
> Java code. Just the plugin.
> Here is the output from the build process:
> {code}
> [WARNING] Command line option -npr is deprecated and will be removed in 
> future Maven versions.
> [INFO] Scanning for projects...
> [INFO]                                                                        
>  
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Building Jackson-Datatype-JSR310 2.2.0-SNAPSHOT
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] 
> [INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-java) @ 
> jackson-datatype-jsr310 ---
> [INFO] 
> [INFO] --- replacer:1.5.2:replace (process-packageVersion) @ 
> jackson-datatype-jsr310 ---
> [INFO] Replacement run on 1 file.
> [INFO] 
> [INFO] --- build-helper-maven-plugin:1.7:add-source (add-generated-sources) @ 
> jackson-datatype-jsr310 ---
> [INFO] Source directory: 
> C:\Users\Nicholas\Desktop\jackson-datatype-jsr310\target\generated-sources 
> added.
> [INFO] 
> [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ 
> jackson-datatype-jsr310 ---
> [INFO] Using 'UTF-8' encoding to copy filtered resources.
> [INFO] skip non existing resourceDirectory 
> C:\Users\Nicholas\Desktop\jackson-datatype-jsr310\src\main\resources
> [INFO] 
> [INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ 
> jackson-datatype-jsr310 ---
> [INFO] Changes detected - recompiling the module!
> [INFO] Compiling 21 source files to 
> C:\Users\Nicholas\Desktop\jackson-datatype-jsr310\target\classes
> [INFO] 
> [INFO] --- maven-bundle-plugin:2.3.7:manifest (bundle-manifest) @ 
> jackson-datatype-jsr310 ---
> java.lang.ArrayIndexOutOfBoundsException: 18
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:448)
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:369)
>       at aQute.lib.osgi.Clazz.parseClassFileWithCollector(Clazz.java:359)
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:349)
>       at aQute.lib.osgi.Analyzer.analyzeJar(Analyzer.java:1725)
>       at aQute.lib.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:1595)
>       at aQute.lib.osgi.Analyzer.analyze(Analyzer.java:124)
>       at aQute.lib.osgi.Builder.analyze(Builder.java:306)
>       at aQute.lib.osgi.Analyzer.calcManifest(Analyzer.java:301)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.getAnalyzer(ManifestPlugin.java:206)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.getManifest(ManifestPlugin.java:114)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.execute(ManifestPlugin.java:69)
>       at 
> org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:264)
>       at 
> org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:255)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>       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:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:487)
>       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)
>       at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:487)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> java.lang.ArrayIndexOutOfBoundsException: 18
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:448)
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:369)
>       at aQute.lib.osgi.Clazz.parseClassFileWithCollector(Clazz.java:359)
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:349)
>       at aQute.lib.osgi.Analyzer.analyzeJar(Analyzer.java:1725)
>       at aQute.lib.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:1595)
>       at aQute.lib.osgi.Analyzer.analyze(Analyzer.java:124)
>       at aQute.lib.osgi.Builder.analyze(Builder.java:306)
>       at aQute.lib.osgi.Analyzer.calcManifest(Analyzer.java:301)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.getAnalyzer(ManifestPlugin.java:206)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.getManifest(ManifestPlugin.java:114)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.execute(ManifestPlugin.java:69)
>       at 
> org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:264)
>       at 
> org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:255)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>       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:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:487)
>       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)
>       at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:487)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> java.lang.ArrayIndexOutOfBoundsException: 18
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:448)
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:369)
>       at aQute.lib.osgi.Clazz.parseClassFileWithCollector(Clazz.java:359)
>       at aQute.lib.osgi.Clazz.parseClassFile(Clazz.java:349)
>       at aQute.lib.osgi.Analyzer.analyzeJar(Analyzer.java:1725)
>       at aQute.lib.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:1595)
>       at aQute.lib.osgi.Analyzer.analyze(Analyzer.java:124)
>       at aQute.lib.osgi.Builder.analyze(Builder.java:306)
>       at aQute.lib.osgi.Analyzer.calcManifest(Analyzer.java:301)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.getAnalyzer(ManifestPlugin.java:206)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.getManifest(ManifestPlugin.java:114)
>       at 
> org.apache.felix.bundleplugin.ManifestPlugin.execute(ManifestPlugin.java:69)
>       at 
> org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:264)
>       at 
> org.apache.felix.bundleplugin.BundlePlugin.execute(BundlePlugin.java:255)
>       at 
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>       at 
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>       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:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:487)
>       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)
>       at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:487)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> [ERROR] Manifest 
> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.2.0-SNAPSHOT : 
> Exception: 18
> [ERROR] Manifest 
> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.2.0-SNAPSHOT : 
> Invalid class file: 
> com/fasterxml/jackson/datatype/jsr310/deser/InstantDeserializer.class
> [ERROR] Manifest 
> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.2.0-SNAPSHOT : 
> Exception: 18
> [ERROR] Manifest 
> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.2.0-SNAPSHOT : 
> Invalid class file: 
> com/fasterxml/jackson/datatype/jsr310/deser/JSR310StringParsableDeserializer.class
> [ERROR] Manifest 
> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.2.0-SNAPSHOT : 
> Exception: 18
> [ERROR] Manifest 
> com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.2.0-SNAPSHOT : 
> Invalid class file: 
> com/fasterxml/jackson/datatype/jsr310/ser/InstantSerializer.class
> [ERROR] Error(s) found in manifest configuration
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Total time: 3.790s
> [INFO] Finished at: Sat Mar 30 08:57:34 CDT 2013
> [INFO] Final Memory: 21M/179M
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal 
> org.apache.felix:maven-bundle-plugin:2.3.7:manifest (bundle-manifest) on 
> project jackson-datatype-jsr310: Error(s) found in manifest configuration -> 
> [Help 1]
> [ERROR] 
> [ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
> switch.
> [ERROR] Re-run Maven using the -X switch to enable full debug logging.
> [ERROR] 
> [ERROR] For more information about the errors and possible solutions, please 
> read the following articles:
> [ERROR] [Help 1] 
> http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
> {code}

--
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