我正在尝试从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>
答案 0 :(得分:0)
指定命令行ant run.client ank.txt c://
时,将所有参数解释为要执行的目标。目标run.client
存在,但其他两个显然不存在,因此您的错误消息。通过查看run.client目标,您似乎需要设置file
和dest
的构建属性。查看build.xml中的使用目标。它显示了将构建属性作为构建属性传递给ant的语法,即使用-D<property>=<value>
。在您的情况下,您可能需要以下内容:
ant run.client -Dfile=ank.txt -Ddest=c://