Avatar billede fanatic Nybegynder
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.
Avatar billede fanatic Nybegynder
09. juli 2009 - 17:05 #1
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??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester