ant 打包实现及其总结

1.ant简介
ant 是一个由java编写的脚本工具,常用来进行打包web项目,安卓项目等。适合自动化远程部署。

2.windows 下 ant 安装
1.在官网下载ant 包,进行解压后,然后在系统变量里设置ant_home路径就好了. 运行时直接 ant + ant脚本(一个xml文件)

3.常用ant命令

1.引入文件  <property file="文件路径" /> 
//若是同级,则直接写文件名就好了  
//若文件内时  name=zjx  引用时直接写${name}就能识别

2.定义变量
 <property name="变量名" value="引用路径" />

3.文件过滤器
  以下例子是对文件夹 libPath 内的jar进行过滤
<fileset dir="${libPath}">
     <include name="**/*.jar" />
</fileset>

4.引用路径
<path id="自定义名称"></path>
如以下例子
<path id="tomcat.jar">
    <fileset dir="${tomcat_home}/lib">
            <include name="**/*.jar" />
    </fileset>
</path>

嵌套引用
<path id="csx.classpath">
    <path refid="web.jar" />
    <path refid="tomcat.jar" />
</path>

5.创建文件夹
    <mkdir dir="${文件夹}" />

6.复制文件
    <copy file="源文件" tofile="目的文件" overwrite="true"></copy>
    //overwrite 为true代表覆盖

 7.复制文件夹及其子文件内容
 <copy todir="源文件夹">
     <fileset dir="子文件夹" />
</copy>

8.重命名文件
<rename src="原文件路径名" dest="现文件路径名" />

9.删除文件或者目录
<delete dir="目录名"/>

10.时间格式化
    定义
    <tstamp prefix="dateFormat">    
        <format property="normal" pattern="yy-MM-dd HH:mm:ss" />
    </tstamp>

    调用
    <echo message="${dateFormat.normal}">时间格式化</echo>

11.正则匹配示例
    <target name="changeVersion" description="版本号修改">
        <replaceregexp file="${web}/WEB-INF/csx-servlet.xml" byline="true" replace="${dateFormat.dt}">
            <regexp pattern="[0-9]{15}" />
        </replaceregexp>
    </target>

    //byline 为逐行匹配,否则只会返回第一次匹配的结果
    //pattern 为java正则表达式
    //replace为替换内容

12.日志记录
    <record name="日志路径名" loglevel="info" append="no" action="start" />

13.更新sql语句示例
    <target name="updateSQL" description="更新SQL文件">
        <sql driver="com.mysql.jdbc.Driver" url="${SQLUrl}" userid="${userid}" password="${password}" encoding="UTF-8" onerror="continue">
        <transaction src="${SQLFile}/${warname}.txt" />
        <classpath refid="csx.classpath" />
        </sql>
    </target>

14.target
  target  ant 执行的最小单位,所有的执行语句都用这个标签进行包裹
  <project name="svn-test" basedir="." default="antstart">  //默认执行的目标

15.war   打包标签,用于生成war包
        <war destfile="${warpath}/${warname}.war">
            <fileset dir="所需资源文件" 
            </fileset>
            <lib dir="${web}/WEB-INF/lib" />
            <webinf dir="${web}/WEB-INF" />
            <classes dir="${classes}" />
        </war>

4.打包war 思路

1.写好所需的配置文件,将脚本和你的路径等变量分开
2.脚本的执行顺序依次为
1.加载所需的依赖文件 用path 命令引用,然后用refid引用即可
2.初始化文件,包括删除以前的编译的class文件等
3.调用svn或git更新文件,编译文件,这里以java为例:

    <target depends="init" name="build" description="编译class文件">
    <javac debug="true" destdir="${classes}" includeantruntime="false" source="${source}" target="${target}">
    <compilerarg line="-encoding GBK " />
    <src path="${src}" />
    <classpath refid="csx.classpath" />
    </javac>
    </target>
//必须要把includeantruntime 设为false,不然环境不一样会导致编译的class不一样

4.使用war命令进行打包,包含(资源文件和代码文件)

5.进行必要的sql文件执行等

6.如果是全自动化部署的,可以先备份原服务器的war文件,然后停用
应用服务器(如tomcat),再将war包放入指定路径下,再自动开启 tomcat,完成自动化部署

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值