无法从ant脚本调用wsdl代码生成器

时间:2012-09-13 05:48:56

标签: java ant wsdl axis2

我要运行这个ant脚本:

 <?xml version="1.0" encoding="utf-8"?>
    <project name="WebserviceClient">
        <property file="myaxis.properties"/>
        <property name="build.dir" value="./src"/>
        <path id="axis2.classpath">
            <fileset dir="lib">
                <include name="*/.jar"/>
            </fileset>
        </path>

        <target name="GenerateGCWebServiceClient" >
            <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"  dir="${build.dir}">
                <classpath refid="axis2.classpath"/>
                <sysproperty key="log4j.configuration" value="log4j.properties"/>
                <arg value="-uri"/>
                <arg value="http://192.168.0.251:9081/Services/MyWebService.svc?wsdl"/>
                <arg value="-d"/>
                <arg value="adb"/>
                <arg value="-ETransfer-Encoding"/>
                <arg value="false"/>
                <arg value="-S"/>
                <arg value="."/>
                <arg value="-u"/>
                <arg value="-wv"/>
                <arg value="1.1"/>
                <arg value="-p"/>
                <arg value="com.sands.service"/>
                <arg value="-ns2p"/>

            </java>
        </target>

    </project>

但找不到org.apache.axis2.wsdl.WSDL2Java。 这是stacktrace:

> build.xml
property
property
path
GenerateGCWebServiceClient
java
java.lang.NoClassDefFoundError: org/apache/axis2/wsdl/WSDL2Java
Caused by: java.lang.ClassNotFoundException: org.apache.axis2.wsdl.WSDL2Java
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

1 个答案:

答案 0 :(得分:1)

您的脚本无法找到所需的库文件,确切地说,它是axis2-codegen-x.y.z.jar。 在你的蚂蚁脚本中你犯了一个错误,因为它无法找到* .jar文件:

更改此行:

 <include name="*/.jar"/>

到:

<include name="*/*.jar"/>

然后它应该工作。