30w5fej3i9 发表于 2016-6-8 11:44:11

为Apache Ant添加FTP Task支持

  Apache Ant 的 FTP Task 需要依赖 apache common-net 包。如果需要使用 FTP 任务, 需要将 common-net 包放到 $ANT_HOME/lib 下。
  
  如果是 Ubuntu 用户,并且用 apt-get 安装的 Ant, 可以使用如下脚本:
  

wget http://www.fayea.com/apache-mirror//commons/net/binaries/commons-net-3.1-bin.zip
unzip commons-net-3.1-bin.zip
sudo cp commons-net-3.1/commons-net-3.1.jar /usr/share/ant/lib/
rm -rf commons-net-3.1
rm -rf commons-net-3.1-bin.zip
  Gist: https://gist.github.com/4030368
  
  如果是 Windows 用户, 需要自行下载 apache common-net 3.1 包, 并且将 commons-net-3.1.jar 放到 %ANT_HOME%/lib 下
  
  安装好后,便可以使用FTP指令:
  这个是远程发布项目的脚本
  

<?xml version="1.0" encoding="utf-8" ?>
<project name="cas" default="rupload">
<description>The cas project ant script tools</description>
<property environment="env"/>
<property name="basedir" value="." />
<property name="tools.ruby" value="${basedir}/tools/ruby"/>
<property name="ftp.host" value="192.168.1.42"/>
<property name="ftp.username" value="tomcat"/>
<property name="ftp.password" value="tomcat"/>
<property name="ftp.remotedir" value="webapps"/>
<property name="r.cmd.start" value="startup" />
<property name="r.cmd.stop" value="shutdown" />
<target name="rstart" description="start remote tomcat" >
<exec executable="ruby">
<arg value="${tools.ruby}/rtomcat.rb"/>
<arg value="${r.cmd.start}"/>
</exec>
</target>
<target name="rstop" description="start remote tomcat" >
<exec executable="ruby">
<arg value="${tools.ruby}/rtomcat.rb"/>
<arg value="${r.cmd.stop}"/>
</exec>
</target>
<target name="rrmfiles">
<ftp action="del"userid="${ftp.username}" password="${ftp.password}" server="${ftp.host}">
<fileset>
<include name="${ftp.remotedir}/${ant.project.name}/**"/>
<include name="${ftp.remotedir}/${ant.project.name}/**/*"/>
</fileset>
</ftp>
</target>
<target name="rrm" depends="rrmfiles" description="rm project folder from remote">
<ftp action="rmdir" userid="${ftp.username}" password="${ftp.password}" server="${ftp.host}"
remotedir="${ftp.remotedir}">
<fileset>
<include name="${ant.project.name}"/>
<include name="${ant.project.name}/**"/>
</fileset>
</ftp>
</target>
<target name="rcas" depends="rrm" description="create a cas folder on server" >
<ftp action="mkdir" userid="${ftp.username}" password="${ftp.password}" server="${ftp.host}"
remotedir="${ftp.remotedir}/${ant.project.name}">
</ftp>
</target>
<target name="rupload" depends="rcas" description="upload vas file to remote ftp" >
<ftp userid="${ftp.username}" password="${ftp.password}" server="${ftp.host}"
remotedir="${ftp.remotedir}/${ant.project.name}">
<fileset dir="${basedir}">
<excludesfile name=".project"/>
</fileset>
</ftp>
</target>
</project>

   
页: [1]
查看完整版本: 为Apache Ant添加FTP Task支持