You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Nick Williams (JIRA)" <ji...@apache.org> on 2013/03/30 15:07:16 UTC

[jira] [Commented] (FELIX-4005) Maven Bundle Plugin fails with ArrayIndexOutOfBoundsException, "Invalid Class File" errors with Java 8 features

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

Nick Williams commented on FELIX-4005:
--------------------------------------

I should note the following:

1) The three class files it's complaining about are the only three class files using lambda expressions and method references.
2) You can download the entire source and attempt to build for yourself from https://github.com/FasterXML/jackson-datatype-jsr310.
                
> 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
>         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