-1

我正在尝试从axis2-1.6.2-bin 示例中运行示例代码,示例的名称是soapwithattachments。. 我已经运行了 generate.service 命令来部署 aar 文件。. 但是当我运行 ant run.client ank.txt c:// 。. 它说项目“SOAPWithAttachmentsSample”中不存在 ank.txt,build.xml 文件没有让我知道将文件 ank.txt 放在哪里。. . 请帮忙,我的项目需要这个,截止日期快到了

<project name="SOAPWithAttachmentsSample" default="generate.service">  
    <property environment="env" />  
    <property name="axis2.home" value="../../" />  
    <property name="axis2.repo" value="${axis2.home}/repository" />  
    <property name="build.dir" value="build" />  
    <property name="client.classes.dir" value="${build.dir}/classes" />  
    <path id="axis.classpath">  
        <fileset dir="${axis2.home}/lib">  
            <include name="*.jar" />  
        </fileset>  
        <pathelement location="build/swaSampleClient.jar" />  
    </path>  

    <target name="generate.service" depends="compile">  
        <jar destfile="${build.dir}/sample-swa.aar">    
            <fileset dir="resources/">  
                <include name="META-INF/services.xml" />  
            </fileset>  
            <fileset dir="${build.dir}/classes">  
                <include name="sample/soapwithattachments/service/**/*.class" />  
            </fileset>  
        </jar>  
        <copy file="${build.dir}/sample-swa.aar" tofile="${axis2.home}/repository/services/sample-swa.aar" overwrite="true" />  
    </target>  

    <target name="compile">  
        <mkdir dir="${client.classes.dir}" />  
        <!-- Compile client -->  
        <javac debug="on"  srcdir="src" destdir="${client.classes.dir}">  
            <classpath refid="axis.classpath" />  
        </javac>  
    </target>  
    <target name="check-parameters">  
        <condition property="parameters.set">  
            <and>  
                <isset property="dest" />  
                <isset property="file" />  
            </and>  
        </condition>  
        <!-- This is a hack to get a if-else working in ant. Some much more "ANTy" person is welcome to improve this -->  
        <antcall target="print-usage" />  
    </target>  

    <target name="print-usage" unless="parameters.set">  
        <echo message="ant -Dfile <file to be transfered>  -Ddest <name of the destination file>" />  
    </target>  

    <target name="run.client" depends="compile,check-parameters" if="parameters.set">  
        <jar destfile="${build.dir}/swaSampleClient.jar">  
            <fileset dir="${build.dir}/classes">  
                <include name="sample/soapwithattachments/client/**/*.class" />  
            </fileset>  
        </jar>  
        <java classname="sample.soapwithattachments.client.SWAClient" classpathref="axis.classpath" fork="true">  
            <arg value="-file" />  
            <arg value="${file}" />  
            <arg value="-dest" />  
            <arg value="${dest}" />  
            <jvmarg value="-Daxis2.repo=${axis2.repo}" />  
        </java>  
    </target>  
    <target name="clean">  
        <delete dir="build" />  
    </target>  
</project>  
4

1 回答 1

0

当您指定命令行时ant run.client ank.txt c://,并且将所有参数解释为要执行的目标。目标run.client存在,但其他两个显然不存在,因此您的错误消息。通过查看 run.client 目标,您似乎需要为fileand设置构建属性dest。查看 build.xml 中的使用目标。它显示了将东西作为构建属性传递给 ant 的语法,即使用-D<property>=<value>. 在您的情况下,您可能需要以下内容:

ant run.client -Dfile=ank.txt -Ddest=c://

于 2013-03-11T13:25:14.150 回答