[ http://jira.codehaus.org/browse/MNG-3586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=142781#action_142781 ]
Pat Podenski commented on MNG-3586: ----------------------------------- Although this bug is closed, there is another factor in the failure of the jaxws plugins. If you resolve javax.xml.ws:jaxws-api:2.1 via Maven Central Repository, the pom.xml there only contains one dependency, whereas the same pom.xml at maven-repository.dev.java.net has four dependencies. Both have the same coordinates, so if you resolve your dependencies from Maven Central first, you will never pickup the four dependencies. This difference causes the jaxws plugins to fail -- I just changed my Artifactory proxy configuration such that the dev.java.net repo is checked first which avoids the older entry from Maven Central. See here for the older javax.xml.ws:jaxws-api:2.1 entry in Maven Central Repository: <http://repo1.maven.org/maven2/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.pom> Arguably Sun should have changed the version number when they revised the pom, however since they didn't do so, anyone attempting to correctly resolve these dependencies, even with the latest jaxws-rt version 2.1.4 release will run into problems if the artifact is resolved from Maven Central Repository. > jaxws mojo wsgen failure with maven 2.1 > ---------------------------------------- > > Key: MNG-3586 > URL: http://jira.codehaus.org/browse/MNG-3586 > Project: Maven 2 > Issue Type: Bug > Components: Embedding > Affects Versions: 2.1 > Environment: Windows XP / Java 5 or 6 > Reporter: Henri Gomez > Assignee: Brett Porter > Fix For: 2.1-alpha-1 > > Attachments: pom.xml, sample-wsgen-fixed.zip, sample-wsgen.zip > > > I can build jar projects using the jaxws wsgen mojo (1.9) under maven > 2.0.x but it failed under m2eclipse (0.9.3) when using maven 2.1 > embedded (it works if I switch m2eclipse to use the maven 2.0.9 on my > system). > I tried with various JVM (Sun and IBM 5 and 6) but still got the > problem with maven 2.1 embedded (maven 2.1-620417 and 2.1-655675): > error is : > From file: C:\workspace\xxx-er-go\pom.xml > Reason: Failed to execute wsgen > java.lang.NoClassDefFoundError: com/sun/mirror/apt/AnnotationProcessorFactory > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:620) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) > at java.net.URLClassLoader.access$100(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:306) > at java.lang.ClassLoader.loadClass(ClassLoader.java:251) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadRealmClass(ClassRealm.java:174) > at > org.codehaus.plexus.classworlds.strategy.DefaultStrategy.loadClass(DefaultStrategy.java:67) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:201) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) > at com.sun.tools.ws.WsGen.doMain(WsGen.java:69) > at > org.codehaus.mojo.jaxws.AbstractWsGenMojo.execute(AbstractWsGenMojo.java:91) > at org.codehaus.mojo.jaxws.MainWsGenMojo.execute(MainWsGenMojo.java:14) > 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 org.apache.maven.cli.MavenCli.main(MavenCli.java:52) > Any idea or fixes ? > my pom.xml wsgen is standard : > <build> > <plugins> > <plugin> > <artifactId>maven-compiler-plugin</artifactId> > <configuration> > <source>1.5</source> > <target>1.5</target> > </configuration> > <executions> > <execution> > <id>compile</id> > <goals> > <goal>compile</goal> > </goals> > <phase>initialize</phase> > </execution> > </executions> > </plugin> > <!-- We need JAX-WS support for Annotation processing > --> > <!-- NB: wsgen can handle only one SEI at a > time so we define an > execution by SEI --> > <plugin> > <groupId>org.codehaus.mojo</groupId> > <artifactId>jaxws-maven-plugin</artifactId> > <executions> > <execution> > <id>go-wsgen</id> > <goals> > <goal>wsgen</goal> > </goals> > <phase>generate-sources</phase> > <configuration> > <resourceDestDir>${project.build.directory}/classes/com/mycorp/service/resources/wsdl</resourceDestDir> > <sei>com.mycorp.service.MyService</sei> > <genWsdl>true</genWsdl> > <keep>false</keep> > </configuration> > </execution> > </executions> > </plugin> > </plugins> > </build> > I attached a simple project so you could try it. > From others reports, it seems the tools.jar is missing in embedded mode. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira