[
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)