You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Luciano van der Veekens (JIRA)" <ji...@apache.org> on 2017/10/20 07:40:00 UTC
[jira] [Commented] (MSHARED-660) Upgrade to asm 6.0 for JDK9
[ https://issues.apache.org/jira/browse/MSHARED-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16212289#comment-16212289 ]
Luciano van der Veekens commented on MSHARED-660:
-------------------------------------------------
I am encountering the following exception when using _maven-dependency-plugin:1.7_ in combination with _asm:6.0_.
{code}
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:nbm-maven-plugin:4.1:manifest (default-manifest) on project ncc.wrapper-netinium: Execution default-manifest of goal org.codehaus.mojo:nbm-maven-plugin:4.1:manifest failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
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:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:993)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:345)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:191)
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)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-manifest of goal org.codehaus.mojo:nbm-maven-plugin:4.1:manifest failed.
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 20 more
Caused by: java.lang.RuntimeException
at org.objectweb.asm.ClassVisitor.visitModule(ClassVisitor.java:148)
at org.objectweb.asm.ClassReader.readModule(ClassReader.java:731)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:632)
at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
at org.apache.maven.shared.dependency.analyzer.asm.DependencyClassFileVisitor.visitClass(DependencyClassFileVisitor.java:74)
at org.apache.maven.shared.dependency.analyzer.ClassFileVisitorUtils.visitClass(ClassFileVisitorUtils.java:163)
at org.apache.maven.shared.dependency.analyzer.ClassFileVisitorUtils.acceptJar(ClassFileVisitorUtils.java:107)
at org.apache.maven.shared.dependency.analyzer.ClassFileVisitorUtils.accept(ClassFileVisitorUtils.java:61)
at org.apache.maven.shared.dependency.analyzer.asm.ASMDependencyAnalyzer.analyze(ASMDependencyAnalyzer.java:50)
at org.codehaus.mojo.nbm.NetBeansManifestUpdateMojo.buildDependencyClasses(NetBeansManifestUpdateMojo.java:920)
at org.codehaus.mojo.nbm.NetBeansManifestUpdateMojo.buildProjectDependencyClasses(NetBeansManifestUpdateMojo.java:763)
at org.codehaus.mojo.nbm.NetBeansManifestUpdateMojo.checkModuleClassPath(NetBeansManifestUpdateMojo.java:667)
at org.codehaus.mojo.nbm.NetBeansManifestUpdateMojo.execute(NetBeansManifestUpdateMojo.java:530)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
... 21 more
{code}
The relevant source of the ASM library:
{code}
public ModuleVisitor visitModule(String name, int access, String version) {
if (api < Opcodes.ASM6) {
throw new RuntimeException();
}
if (cv != null) {
return cv.visitModule(name, access, version);
}
return null;
}
{code}
At the point of failing the implementation of {{org.objectweb.asm.ClassVisitor}} is {{org.apache.maven.shared.dependency.analyzer.asm.DefaultClassVisitor}} which initializes the visitor using {{Opcodes.ASM5}}.
{code}
public DefaultClassVisitor( SignatureVisitor signatureVisitor, AnnotationVisitor annotationVisitor,
FieldVisitor fieldVisitor, MethodVisitor methodVisitor,
ResultCollector resultCollector )
{
super( Opcodes.ASM5 );
this.signatureVisitor = signatureVisitor;
this.annotationVisitor = annotationVisitor;
this.fieldVisitor = fieldVisitor;
this.methodVisitor = methodVisitor;
this.resultCollector = resultCollector;
}
{code}
I noticed the latest _maven-dependency-analyzer:1.8-SNAPSHOT_ still initializes the visitor this way. Doesn't it need to use {{Opcodes.ASM6}} now?
> Upgrade to asm 6.0 for JDK9
> ---------------------------
>
> Key: MSHARED-660
> URL: https://issues.apache.org/jira/browse/MSHARED-660
> Project: Maven Shared Components
> Issue Type: Dependency upgrade
> Components: maven-dependency-analyzer
> Affects Versions: maven-dependency-analyzer-1.7
> Reporter: Karl Heinz Marbaise
> Assignee: Robert Scholte
> Priority: Critical
> Fix For: maven-dependency-analyzer-1.8
>
>
> We need to upgrade the org.ow2.asm:asm dependency to 6.0 to support more JDK 9 in maven-dependency-plugin.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)