[ 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