Nick Williams created FELIX-4005:
------------------------------------

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


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