Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0-alpha-1
-
Fix Version/s: Issues to be reviewed for 3.x
-
Component/s: Command Line
-
Labels:None
-
Complexity:Intermediate
Description
eclipse:eclipse goal in maven-eclipse-plugin 2.5 is failing with the following exception. same thing is working with 2.4
Exception in thread "main" java.lang.LinkageError: loader constraint violation: when resolving method "org.codehaus.plexus.util.xml.Xpp3DomWriter.write(Lorg/codehaus/plexus/util/xml/XMLWriter;Lorg/codehaus/plexus/util/xml/Xpp3Dom;)V" the class loader (instance of org/codehaus/plexus/classworlds/realm/ClassRealm) of the current class, org/apache/maven/plugin/eclipse/writers/wtp/EclipseWtpApplicationXMLWriter, and the class loader (instance of org/codehaus/plexus/classworlds/realm/ClassRealm) for resolved class, org/codehaus/plexus/util/xml/Xpp3DomWriter, have different Class objects for the type org/codehaus/plexus/util/xml/XMLWriter used in the signature at org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpApplicationXMLWriter.writePrettyXmlFile(EclipseWtpApplicationXMLWriter.java:624) at org.apache.maven.plugin.eclipse.writers.wtp.EclipseWtpApplicationXMLWriter.write(EclipseWtpApplicationXMLWriter.java:157) at org.apache.maven.plugin.eclipse.EclipsePlugin.writeConfiguration(EclipsePlugin.java:957) at org.apache.maven.plugin.ide.AbstractIdeSupportMojo.execute(AbstractIdeSupportMojo.java:494) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:577) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149) at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223) at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:903) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176) at org.apache.maven.cli.MavenCli.main(MavenCli.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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:408) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351) at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
Issue Links
- is depended upon by
-
MNGECLIPSE-745
[mng] importing EAR project fails with a LinkageError
-
- is related to
-
MNG-3503
Shade MX* classes from plexus-utils
-
Now it works with maven-eclipse-plugin 2.5.
But with a plugin that use JDK classes (for instance com.sun.mirror.apt.AnnotationProcessorFactory) it fails :
org.test.simplePlugin.MyMojo#execute() caused a linkage error (java.lang.NoClassDefFoundError). Check the realms: .... java.lang.NoClassDefFoundError: com.sun.mirror.apt.AnnotationProcessorFactory at org.test.simplePlugin.MyMojo.class$(MyMojo.java:33) at org.test.simplePlugin.MyMojo.execute(MyMojo.java:33) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:623) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:521) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:288) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:214) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:172) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:208) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:854) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176) at org.apache.maven.cli.MavenCli.main(MavenCli.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) 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:408) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351) at org.codehaus.classworlds.Launcher.main(Launcher.java:31)of course the plugin use the dependency:
<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.5</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency>see MNGECLIPSE-745 for a test case.
org.test.simplePlugin.MyMojo#execute() caused a linkage error (java.lang.NoClassDefFoundError). Check the realms: .... java.lang.NoClassDefFoundError: com.sun.mirror.apt.AnnotationProcessorFactory at org.test.simplePlugin.MyMojo.class$(MyMojo.java:33) at org.test.simplePlugin.MyMojo.execute(MyMojo.java:33) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:623) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:521) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:288) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:214) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:172) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:208) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:854) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176) at org.apache.maven.cli.MavenCli.main(MavenCli.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) 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:408) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351) at org.codehaus.classworlds.Launcher.main(Launcher.java:31)<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.5</version> <scope>system</scope> <systemPath>${java.home}/../lib/tools.jar</systemPath> </dependency>