You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Gary Gregory (JIRA)" <ji...@apache.org> on 2018/06/20 21:58:00 UTC

[jira] [Updated] (MPIR-371) Update Apache Commons BCEL to 6.2 to fix ClassFormatException

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

Gary Gregory updated MPIR-371:
------------------------------
    Description: 
The following exception comes up when new byte codes are found:
{noformat}
[WARNING] Unable to process class module-info.class in JarAnalyzer File C:\Users\ggregory\.m2\repository\org\ow2\asm\asm-tree\6.2\asm-tree-6.2.jar
org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
    at org.apache.bcel.classfile.Constant.readConstant (Constant.java:161)
    at org.apache.bcel.classfile.ConstantPool.<init> (ConstantPool.java:69)
    at org.apache.bcel.classfile.ClassParser.readConstantPool (ClassParser.java:235)
    at org.apache.bcel.classfile.ClassParser.parse (ClassParser.java:143)
    at org.apache.maven.shared.jar.classes.JarClassesAnalysis.analyze (JarClassesAnalysis.java:96)
    at org.apache.maven.report.projectinfo.dependencies.Dependencies.getJarDependencyDetails (Dependencies.java:259)
    at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.hasSealed (DependenciesRenderer.java:1542)
    at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderSectionDependencyFileDetails (DependenciesRenderer.java:545)
    at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderBody (DependenciesRenderer.java:240)
    at org.apache.maven.reporting.AbstractMavenReportRenderer.render (AbstractMavenReportRenderer.java:83)
    at org.apache.maven.report.projectinfo.DependenciesReport.executeReport (DependenciesReport.java:201)
    at org.apache.maven.reporting.AbstractMavenReport.generate (AbstractMavenReport.java:255)
    at org.apache.maven.plugins.site.render.ReportDocumentRenderer.renderDocument (ReportDocumentRenderer.java:230)
    at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render (DefaultSiteRenderer.java:349)
    at org.apache.maven.plugins.site.render.SiteMojo.renderLocale (SiteMojo.java:184)
    at org.apache.maven.plugins.site.render.SiteMojo.execute (SiteMojo.java:133)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
{noformat}
For a project like Apache Commons Pool, updating the plugin dependencies to Apache Commons BCEL 6.2 fixes this. This is what Commons Pool and Commons Parent will do in their next releases:
{code:xml}
      <pluginManagement>
        <plugins>
          <plugin>
            <!--  Fixes org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19 -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>${commons.project-info.version}</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.bcel</groupId>
                <artifactId>bcel</artifactId>
                <version>6.2</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </pluginManagement>
{code}

  was:
The following exception comes up when new byte codes are found:
{noformat}
[WARNING] Unable to process class module-info.class in JarAnalyzer File C:\Users\ggregory\.m2\repository\org\ow2\asm\asm-tree\6.2\asm-tree-6.2.jar
org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
    at org.apache.bcel.classfile.Constant.readConstant (Constant.java:161)
    at org.apache.bcel.classfile.ConstantPool.<init> (ConstantPool.java:69)
    at org.apache.bcel.classfile.ClassParser.readConstantPool (ClassParser.java:235)
    at org.apache.bcel.classfile.ClassParser.parse (ClassParser.java:143)
    at org.apache.maven.shared.jar.classes.JarClassesAnalysis.analyze (JarClassesAnalysis.java:96)
    at org.apache.maven.report.projectinfo.dependencies.Dependencies.getJarDependencyDetails (Dependencies.java:259)
    at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.hasSealed (DependenciesRenderer.java:1542)
    at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderSectionDependencyFileDetails (DependenciesRenderer.java:545)
    at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderBody (DependenciesRenderer.java:240)
    at org.apache.maven.reporting.AbstractMavenReportRenderer.render (AbstractMavenReportRenderer.java:83)
    at org.apache.maven.report.projectinfo.DependenciesReport.executeReport (DependenciesReport.java:201)
    at org.apache.maven.reporting.AbstractMavenReport.generate (AbstractMavenReport.java:255)
    at org.apache.maven.plugins.site.render.ReportDocumentRenderer.renderDocument (ReportDocumentRenderer.java:230)
    at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render (DefaultSiteRenderer.java:349)
    at org.apache.maven.plugins.site.render.SiteMojo.renderLocale (SiteMojo.java:184)
    at org.apache.maven.plugins.site.render.SiteMojo.execute (SiteMojo.java:133)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
{noformat}

For a project like Apache Commons Pool, updating the plugin dependencies to Apache Commons BCEL 6.2 fixes this. This is what Commons pool and Commons Parent will do in their next releases:
{code:xml}
      <pluginManagement>
        <plugins>
          <plugin>
            <!--  Fixes org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19 -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>${commons.project-info.version}</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.bcel</groupId>
                <artifactId>bcel</artifactId>
                <version>6.2</version>
              </dependency>
            </dependencies>
          </plugin>
        </plugins>
      </pluginManagement>
{code}


> Update Apache Commons BCEL to 6.2 to fix ClassFormatException
> -------------------------------------------------------------
>
>                 Key: MPIR-371
>                 URL: https://issues.apache.org/jira/browse/MPIR-371
>             Project: Maven Project Info Reports Plugin
>          Issue Type: Bug
>    Affects Versions: 2.9
>            Reporter: Gary Gregory
>            Priority: Major
>
> The following exception comes up when new byte codes are found:
> {noformat}
> [WARNING] Unable to process class module-info.class in JarAnalyzer File C:\Users\ggregory\.m2\repository\org\ow2\asm\asm-tree\6.2\asm-tree-6.2.jar
> org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19
>     at org.apache.bcel.classfile.Constant.readConstant (Constant.java:161)
>     at org.apache.bcel.classfile.ConstantPool.<init> (ConstantPool.java:69)
>     at org.apache.bcel.classfile.ClassParser.readConstantPool (ClassParser.java:235)
>     at org.apache.bcel.classfile.ClassParser.parse (ClassParser.java:143)
>     at org.apache.maven.shared.jar.classes.JarClassesAnalysis.analyze (JarClassesAnalysis.java:96)
>     at org.apache.maven.report.projectinfo.dependencies.Dependencies.getJarDependencyDetails (Dependencies.java:259)
>     at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.hasSealed (DependenciesRenderer.java:1542)
>     at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderSectionDependencyFileDetails (DependenciesRenderer.java:545)
>     at org.apache.maven.report.projectinfo.dependencies.renderer.DependenciesRenderer.renderBody (DependenciesRenderer.java:240)
>     at org.apache.maven.reporting.AbstractMavenReportRenderer.render (AbstractMavenReportRenderer.java:83)
>     at org.apache.maven.report.projectinfo.DependenciesReport.executeReport (DependenciesReport.java:201)
>     at org.apache.maven.reporting.AbstractMavenReport.generate (AbstractMavenReport.java:255)
>     at org.apache.maven.plugins.site.render.ReportDocumentRenderer.renderDocument (ReportDocumentRenderer.java:230)
>     at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render (DefaultSiteRenderer.java:349)
>     at org.apache.maven.plugins.site.render.SiteMojo.renderLocale (SiteMojo.java:184)
>     at org.apache.maven.plugins.site.render.SiteMojo.execute (SiteMojo.java:133)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
>     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
>     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
>     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:498)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
> {noformat}
> For a project like Apache Commons Pool, updating the plugin dependencies to Apache Commons BCEL 6.2 fixes this. This is what Commons Pool and Commons Parent will do in their next releases:
> {code:xml}
>       <pluginManagement>
>         <plugins>
>           <plugin>
>             <!--  Fixes org.apache.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19 -->
>             <groupId>org.apache.maven.plugins</groupId>
>             <artifactId>maven-project-info-reports-plugin</artifactId>
>             <version>${commons.project-info.version}</version>
>             <dependencies>
>               <dependency>
>                 <groupId>org.apache.bcel</groupId>
>                 <artifactId>bcel</artifactId>
>                 <version>6.2</version>
>               </dependency>
>             </dependencies>
>           </plugin>
>         </plugins>
>       </pluginManagement>
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)