先说怎样实现用ANT向服务器传文件
下面使用的是SSH的方式。
官方这一篇文档就讲清楚了:https://wiki.apache.org/ant/NewAntFeaturesInDetail/Ssh。
简单说,步骤如下:
- 把jsch.jar拷贝到ant的lib目录中。
- 使用如下命令完成文件上传
<target name="scpfile">
<scp file="${jar.name}" todir="root:111111@192.168.56.101:${jardesc.dir}" trust="true"/>
</target>
如果想用FTP的方式,就把jakarta-oro-2.0.8.jar和commons-net-1.4.1.jar拷贝过去。
ANT代码如下:
<?xml version="1.0"?>
<project>
<target name="ftp" description="ftp" >
<ftp server="172.16.91.4" userid="ftp" password="ftp">
<fileset dir ="${RELEASE_12580_DIR}">
</fileset>
</ftp>
</target>
</project>
完整的脚本
<project name="buildftp" default="all" basedir=".">
<property name="src.dir" location="src" />
<property name="classes.dir" location="classes" />
<property name="jar.name" location="xxx.jar" />
<property name="mainclass" value="fd.test.Main" />
<target name="Init">
<!--<delete dir="${classes.dir}" />-->
<mkdir dir="${classes.dir}" />
</target>
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${classes.dir}" />
</target>
<target name="makejar" depends="init,compile">
<jar destfile="${jar.name}" basedir="${binDir}">
<manifest>
<attribute name="Main-Class" value="${mainclass}" />
</manifest>
</jar>
</target>
<property name="jardesc.dir" value="~" />
<target name="scpfile">
<scp file="${jar.name}" todir="root:111111@192.168.56.101:${jardesc.dir}" trust="true"/>
</target>
<target name="buildftp" depends="makejar,scpfile">
<echo message="Ant is building the project." />
</target>
</project>