为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>
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值