ant 打包实现及其总结
来源:互联网 发布:win10连接不到windows 编辑:程序博客网 时间:2024/06/05 15:09
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 0
- ant 打包实现及其总结
- Android Ant打包及其环境变量配置
- Android Ant打包及其环境变量配置
- Ant自动打包、多渠道打包的实现
- android Ant 批量多渠道打包 总结!
- android Ant 批量多渠道打包 总结!
- android Ant 批量多渠道打包 总结!
- android Ant 批量多渠道打包 总结!
- android Ant 批量多渠道打包 总结!
- Android Eclipse Ant 批量多渠道打包 总结!
- ant使用总结(一):使用ant自动打包apk
- Ant + svnant 实现代码打包发布
- ant 实现批量打包android应用
- 使用Ant 实现批量打包Android应用
- 使用 Ant 实现批量打包Android应用
- 使用Ant 实现批量打包Android应用
- 使用Ant 实现批量打包Android应用
- 使用Ant 实现批量打包Android应用
- js 实现ReplaceAll
- 巧说Handler原理
- 基于maven的javaweb中xml的访问路径问题
- 下雨了怎么办
- HDU
- ant 打包实现及其总结
- Redis分布式客户端-Redisson介绍
- jquery mobile常用的data-role类型介绍
- Java多线程总结(二):理解对象锁 & synchronized和Lock的区别
- 二叉树遍历
- JQuery选择器中的空格问题
- JavaScript专题之jQuery通用遍历方法each的实现
- Tip15 使用dynamic来简化反射实现
- JS作用域的解析和代码执行的原理