一:工具
1、apache-ant-1.8.2-bin.zip
2、svnant-1.2.1.zip(下载的时候要注意与jdk的版本对应,我就在这个地方郁闷了半天)
3、commons-net-2.2-bin.zip
4、ServUSetup.zip(ftp服务器)
二:步骤
1、解压apache-ant-1.8.2-bin.zip,配置相应的环境变量ANT_HOME,path
2、把svnant-1.2.1\lib下的jar以及commons-net-2.2下的jar放到 ANT_HOME\lib 下
3、安装ftp服务器,执行ServUSetup.exe(设置好用户的id和密码,build文件用到)
三:build 文件代码
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-smu" default="sendSmuToFTP" basedir="../">
<!-- 这里的basedir是工程的目录为根目录
一般basedir="."表示的是build.xml文件所在的相对目录为根目录即src
-->
<property name="src" value="src"/>
<!-- 编译目录-->
<property name="dest" value="/${basedir}/WebRoot/WEB-INF/classes"/>
<property name="svnurl" value="svn://192.168.0.12/nvs/java/smu"/>
<property name="svnusername" value="user1"/>
<property name="svnuserpw" value="user1_p"/>
<property name="ftpserverip" value="192.168.0.155"/>
<property name="ftpuserid" value="admin"/>
<property name="ftpuserpw" value="123"/>
<!-- 定义发布目录-->
<property name="webApp" value="D:\nvr2000\nvr2000\tomcat\webapps\"/>
<taskdef resource="svntask.properties">
<!-- 我这里是把svnant-1.2.1\lib下的三个jar放到工程lib下了,无论放到哪里,定义好path就可以-->
<classpath>
<pathelement location="${basedir}/WebRoot/WEB-INF/lib/svnjavahl.jar" />
<pathelement location="${basedir}/WebRoot/WEB-INF/lib/svnant.jar" />
<pathelement location="${basedir}/WebRoot/WEB-INF/lib/svnClientAdapter.jar" />
</classpath>
</taskdef>
<target name="clean">
<delete dir="${webApp}smu.war"/>
<echo message="delete ${webApp}smu.war..." />
</target>
<target name="checkoutThis" depends="clean">
<svn username="${svnusername}" password="${svnuserpw}">
<checkout url="${svnurl}" revision="HEAD" destPath="${basedir}"/>
</svn>
</target>
<echo message="init ..." />
<target name="init" depends="checkoutThis">
<mkdir dir="${dest}"/>
</target>
<!-- 编译class文件-->
<target name="compile" depends="init">
<!--<javac srcdir="${src}" destdir="/${basedir}/WebRoot/WEB-INF/classes"></javac> -->
</target>
<!-- 打包-->
<target name="war" depends="compile">
<war destfile="${webApp}smu.war" webxml="${basedir}/WebRoot/WEB-INF/web.xml">
<fileset dir="${basedir}/WebRoot">
<include name="**/*.*"/>
</fileset>
</war>
</target>
<!-- 上传,ftp上传有两种方式主动PORT,被动PASV,网上说内网用被动模式需要一些对ftp服务器的设置,按网上说的做应该可以,我没有做-->
<target name="sendSmuToFTP" depends="war">
<ftp server="${ftpserverip}" port="21" userid="${ftpuserid}" password="${ftpuserpw}" depends="no" verbose="yes">
<fileset dir="${webApp}">
<include name="*.war"/>
</fileset>
</ftp>
</target>
</project>
利用ant 自动更新svn+打包+上传
猜你喜欢
转载自shangjunhong.iteye.com/blog/970350
今日推荐
周排行