sofa-ark icon indicating copy to clipboard operation
sofa-ark copied to clipboard

sofa-ark-maven-plugin repackage failed, This feature requires ASM7

Open l10178 opened this issue 2 years ago • 2 comments

Describe the bug

sofa-ark-maven-plugin repackage 打包失败,详细报错信息如下:


[ERROR] Failed to execute goal com.alipay.sofa:sofa-ark-maven-plugin:2.0.4:repackage (default-cli) on project myproject: Execution default-cli of goal com.alipay.sofa:sofa-ark-maven-plugin:2.0.4:repackage failed: This feature requires ASM7 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.alipay.sofa:sofa-ark-maven-plugin:2.0.4:repackage (default-cli) on project gateway-log2es: Execution default-cli of goal com.alipay.sofa:sofa-ark-maven-plugin:2.0.4:repackage failed: This feature requires ASM7
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:375)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    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:294)
    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:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal com.alipay.sofa:sofa-ark-maven-plugin:2.0.4:repackage failed: This feature requires ASM7
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    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:294)
    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:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.UnsupportedOperationException: This feature requires ASM7
    at org.objectweb.asm.ClassVisitor.visitNestHost (ClassVisitor.java:159)
    at org.objectweb.asm.ClassReader.accept (ClassReader.java:559)
    at org.objectweb.asm.ClassReader.accept (ClassReader.java:401)
    at com.alipay.sofa.ark.tools.MainClassFinder.createClassDescriptor (MainClassFinder.java:121)
    at com.alipay.sofa.ark.tools.MainClassFinder.doWithMainClasses (MainClassFinder.java:78)
    at com.alipay.sofa.ark.tools.MainClassFinder.findSingleMainClass (MainClassFinder.java:58)
    at com.alipay.sofa.ark.tools.Repackager.findMainMethod (Repackager.java:496)
    at com.alipay.sofa.ark.tools.Repackager.findMainMethodWithTimeoutWarning (Repackager.java:484)
    at com.alipay.sofa.ark.tools.Repackager.buildModuleManifest (Repackager.java:422)
    at com.alipay.sofa.ark.tools.Repackager.repackageModule (Repackager.java:269)
    at com.alipay.sofa.ark.tools.Repackager.repackage (Repackager.java:258)
    at com.alipay.sofa.ark.boot.mojo.RepackageMojo.repackage (RepackageMojo.java:297)
    at com.alipay.sofa.ark.boot.mojo.RepackageMojo.execute (RepackageMojo.java:280)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    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:294)
    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:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

Environment

  • SOFAArk version: 2.0.4
  • JVM version: 11.0.16
  • Maven version: 3.8.6

目前ark-maven-plugin里引入了asm 8.0版本,但是这行代码,声明的是Opcodes.ASM4,改为ASM8能解决我的问题,但是我对ASM了解不多,希望有人能评估影响范围,合入正式版本。

# com.alipay.sofa.ark.tools.MainClassFinder.ClassDescriptor#ClassDescriptor

        ClassDescriptor() {
            super(Opcodes.ASM4);
        }

l10178 avatar Sep 29 '22 02:09 l10178

目前ark-maven-plugin是asm 8.0版本,这个错误可能是由于jdk11导致的,需要升级到asm 8.0

gaosaroma avatar Oct 14 '22 05:10 gaosaroma

目前ark-maven-plugin是asm 8.0版本,这个错误可能是由于jvm11导致的,需要升级到asm 8.0

是的,我的用的java11,我自己改了上面提的代码中的 super(Opcodes.ASM4),改为ASM8能编译成功没发现新问题,但是我不确定这个改动的影响范围。

l10178 avatar Oct 14 '22 06:10 l10178

好的,我们评估一下

gaosaroma avatar Oct 27 '22 06:10 gaosaroma

这个issue先关了,有问题再open哈~

gaosaroma avatar May 28 '23 06:05 gaosaroma