09. juli 2009 - 10:59
Der er
1 kommentar
Generér javeklasser fra WSDL med maven
Hej Eksperter.
Jeg har søgt internettet rundt efter et fungerende eksempel der viser hvordan jeg sætter pom.xml op til automatisk at generere java-klasser fra en wsdl.
Hvorfor findes der ikke et konkret eksempel på dette - eller gør der??
Har i nogle links til en brugbar guide eller eksempel??
Tak.
Jeg har forsøgt med følgende:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<id>FirstWsdl</id>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlFiles>
<wsdlFile>elog.wsdl</wsdlFile>
</wsdlFiles>
<packageName>com.xx.xx.xx</packageName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Dette resulterer dog i følgende fejl når jeg kører maven:
[INFO] [clean:clean]
[INFO] [jaxws:wsimport {execution: FirstWsdl}]
[INFO] Processing: C:\projects\product\xxx\src\wsdl\xxx.wsdl
[INFO] jaxws:wsimport args: [-s, C:\projects\xxx\trunk\product\xxx\target\jaxws\wsimport\java, -d, C:\projects\xxx\trunk\product\xxx\classes, -p, com.xx.xx.jaxb, C:\projects\xxx\trunk\product\xxx\src\wsdl\elog.wsdl]
[FATAL ERROR] org.codehaus.mojo.jaxws.MainWsImportMojo#execute() caused a linkage error (java.lang.NoClassDefFoundError) and may be out-of-date. Check the r
alms:
[FATAL ERROR] Plugin realm = app0.child-container[org.codehaus.mojo:jaxws-maven-plugin:1.10]
urls[0] = file:/C:/Documents and Settings/Admin/.m2/repository/org/codehaus/mojo/jaxws-maven-plugin/1.10/jaxws-maven-plugin-1.10.jar
urls[1] = file:/C:/Documents and Settings/Admin/.m2/repository/com/sun/xml/ws/jaxws-tools/2.1.3/jaxws-tools-2.1.3.jar
urls[2] = file:/C:/Documents and Settings/Admin/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
urls[3] = file:/C:/Program Files/Java/jdk1.6.0_13/jre/../lib/tools.jar
[FATAL ERROR] Container realm = plexus.core
urls[0] = file:/C:/tools/apache-maven-2.1.0/bin/../lib/maven-2.1.0-uber.jar
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] com/sun/istack/tools/MaskingClassLoader
com.sun.istack.tools.MaskingClassLoader
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.NoClassDefFoundError: com/sun/istack/tools/MaskingClassLoader
at org.codehaus.mojo.jaxws.WsImportMojo.wsImport(WsImportMojo.java:273)
at org.codehaus.mojo.jaxws.WsImportMojo.processLocalWsdlFiles(WsImportMojo.java:235)
at org.codehaus.mojo.jaxws.WsImportMojo.execute(WsImportMojo.java:191)
at org.codehaus.mojo.jaxws.MainWsImportMojo.execute(MainWsImportMojo.java:15)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:483)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:678)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:540)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:519)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:371)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:332)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:181)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:356)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:137)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:356)
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.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.ClassNotFoundException: com.sun.istack.tools.MaskingClassLoader
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 22 more
Hvad kan fejlen være??