Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-4005

Maven Bundle Plugin fails with ArrayIndexOutOfBoundsException, "Invalid Class File" errors with Java 8 features

    XMLWordPrintableJSON

Details

    Description

      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:

      [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
      

      Attachments

        1. pom.xml
          5 kB
          Nick Williams

        Activity

          People

            Unassigned Unassigned
            beamerblvd Nick Williams
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: