Ant命令详解和build.xml
1、Ant命令详解
Ant项目文件的构建可编译,包,测试。这是Apache软件基金会jakarta一个子项目,具有跨平台性,操作简单,并且非常好上手
1、直接执行ant,当前build.xml文件下直接使用命令行进行执行,Ant会在当前文件夹下检索build.xml文件。假设找到了就执行该文件。执行所有的target,假设没有找到了会提示没有找到相关的build.xml文件。
2、 ant+target名字,可以指定执行一个或多个target,如ant clean 只执行clean
语法元素说明如下:
-help
显示描述ant 命令及其选项的帮助信息
-projecthelp
显示包含在构建文件中的、所有用户编写的帮助文档。即为各个中description 属性的文本,以及包含在元素中的任何文本。将有description 属性的目标列为主目标(Main target),没有此属性的目标则列为子目标(Subtarget)。
-version
要求ant 显示其版本信息,然后退出。
-quiet
抑制并非由构建文件中的echo 任务所产生的大多数消息。
-verbose
显示构建过程中每个操作的详细消息。此选项与-debug 选项只能选其一。
-debug
显示Ant 和任务开发人员已经标志为调试消息的消息。此选项与-verbose 只能选其一。
-emacs
对日志消息进行格式化,使它们能够很容易地由Emacs 的shell 模式(shellmode)所解析;也就是说,打印任务事件,但并不缩排,在其之前也没有[taskname]。
-logfile filename
将日志输出重定向到指定文件。
-logger classname
指定一个类来处理Ant 的日志记录。所指定的类必须实现了org.apache.tools.ant.BuildLogger 接口。
-listener classname
为Ant 声明一个监听类,并增加到其监听者列表中。在Ant与IDE或其他Java程序集成时,此选项非常有用。可以阅读第六章以了解有关监听者的更多信息。必须将所指定的监听类编写为可以处理Ant 的构建消息接发。
-buildfile filename
指定Ant 需要处理的构建文件。默认的构建文件为build.xml。
-Dproperty=value
在命令行上定义一个特性名-值对。
-find filename
指定Ant 应当处理的构建文件。与-buildfile 选项不同,如果所指定文件在当前目录中未找到,-find 就要求Ant 在其父目录中再进行搜索。这种搜索会继续在其祖先目录中进行,直至达到文件系统的根为止,在此如果文件还未找到,则构建失败。
-atuoproxy jdk1.5以上的可以使用代理设置
-nouserlib 运行ant时不使用用户lib中的jar包
-nice 设计主线程优先级
-logfile 使用指定的log日志
-noinput 不允许交互输入
-keep-going, -k 执行不依赖于所有目标
-propertyfile 加载所有属性配置文件 -d 属性文件优先
2、build.xml脚本
<?xml version="1.0" encoding="UTF-8"?>
<!-- 定义一个工程,默认任务为warFile。 -->
<project name="Archive" default="warFile" basedir="."><!-- 定义属性,打成war包的名称。 --><property name="warFileName" value="Inspur.Ecgap.Archive.war"></property><!--中间打包文件存储位置基目录--><property name="build.target" value="${basedir}/target"></property><!--打包classes--><property name="build.target.classes" value="${build.target}/WEB-INF/classes"></property><!--jar包--><property name="build.target.lib" value="${build.target}/WEB-INF/lib"></property><!--配置文件--><property name="build.target.config" value="${build.target}/WEB-INF/config"></property><!--页面文件--><property name="build.target.pages" value="${build.target}/WEB-INF/pages"></property><!-- 定义路径,编译java文件时用到的jar包。 --><path id="project.lib"><fileset dir="./WebRoot/WEB-INF/lib"><include name="**/*.jar"/></fileset></path><target name="clean" description="定义任务,清空任务:清空原有的打包文件,创建新的存储路径"><delete dir="${build.target}" /><mkdir dir="${build.target}" /><mkdir dir="${build.target}/WEB-INF" /><mkdir dir="${build.target.lib}" /><mkdir dir="${build.target.classes}" /><mkdir dir="${build.target.config}" /><mkdir dir="${build.target.pages}" /></target><target name="compile" depends="clean" description="定义任务,编译src文件夹中的java文件,编译后的class文件放到 ${build.target.classes}下"><!--fork javac单开线程--><javac fork="true" bootclasspath="${java.home}/lib/rt.jar;${java.home}/lib/jce.jar" encoding="UTF-8" srcdir="${basedir}/src" destdir="${build.target.classes}" includeantruntime="false" memoryinitialsize="1024m" memorymaximumsize="1024m"><classpath refid="project.lib"></classpath></javac></target><target name="prepare" description="拷贝资源文件到${build.target.classes}"><copy todir="${build.target.classes}" description="拷贝所有的属性文件"><fileset dir="${basedir}/src/resource"><include name="**/**.*"/></fileset></copy></target><!-- 定义默认任务,将class文件集合成jar包。 --><target name="warFile" depends="compile,prepare"><!-- 删除原有war包。 --><delete dir="${build.target}/${warFileName}" /><!--拷贝lib到欲打包文件目录--><copydir dest="${build.target.lib}" src="${basedir}/WebRoot/WEB-INF/lib" /><copydir dest="${build.target.pages}" src="${basedir}/WebRoot/WEB-INF/pages" /><copydir dest="${build.target.config}" src="${basedir}/WebRoot/WEB-INF/config" /><!--拷贝单个文件--><copy file="${basedir}/WebRoot/WEB-INF/jboss-web.xml" tofile="${build.target}/WEB-INF/jboss-web.xml"/><copydir dest="${build.target}/assets" src="${basedir}/WebRoot/assets" /><!-- 建立新war包。 --><war destfile="${basedir}/${warFileName}" basedir="${build.target}" webxml="${basedir}/WebRoot/WEB-INF/web.xml"><!--将非jar和非class文件拷贝到war包的对应路径下。 --><!--<fileset dir="${build.target}/resources">--><!-- <include name="**/**.*" />--><!-- <exclude name="**/*.jar"/>--><!-- <exclude name="**/*.class"/>--><!--</fileset>--><!--将jar和class文件拷贝到war包的对应路径下。 --><!--改用上述基目录形式--><!--<fileset dir="build" ></fileset>--><!--<lib dir="${build.target}/webapp/WEB-INF/lib" />--><!--<classes dir="${build.target}/build" />--></war></target>
</project>
Ant命令详解和build.xml相关推荐
- ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件
在日常的项目开发中,我们可以经常性的需要打包测试,尤其是开发环境是windows,而实际环境则是linux. 这样的话,很多程序员要一会打一个包,一会打一个包,这些包可能会很大,实际上只有代码部分会变 ...
- docker build命令详解_Docker镜像与容器常用命令图文详解
一.系统命令 #查看docker版本 docker version #查看docker的系统信息,包含镜像容器的数量 docker info #查看docker的所有命令 docker --help ...
- 把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
- java文件打包jar文件_把java文件打包成.jar (jar命令详解)
把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...
- Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解
环境部署及工具使用 系列文章 前言 环境部署 硬件环境 软件环境 ADB工具 adb组成 adb命令 android命令 sdkmanager 命令 avdmanager命令 管理模拟器 monito ...
- Gradle命令详解
Gradle命令详解 我们介绍了 Gradle 的任务声明,任务依赖,Gradle 构建的顺序等.其实在文章中我们也提到了一些 Gradle 命令.本文我们将为大家介绍一下 Gradle 的命令,包括 ...
- linux远程date命令,linux之date命令详解
date命令的用处 1.用于显示特殊的时间格式,可以用于对日志文件的命名 2.用于设置时间 ,不过这方面用的比较少,因为一般的服务器都设置的有自动同步网络时间 用法: date [OPTION]... ...
- docker常用命令详解
docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...
- 详解Java解析XML的四种方法
http://developer.51cto.com 2009-03-31 13:12 cnlw1985 javaeye 我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...
最新文章
- 【数据结构】关键路径
- 给AI系统做“安全体检”,阿里安全提出自动化AI对抗平台CAA | AAAI 2021
- wxWidgets学习 (2) -- 事件处理
- 24帧动画走路分解图_人眼只能分辨24帧?我们来聊聊高刷新率的意义
- 在Android App中集成Google登录
- 【Day09】JavaScript 为什么要区分微任务和宏任务
- oracle中block
- UTF-8 + BOM引起的模板空格问题(PHP使用任何模板引擎貌似都有此问题)
- 前端动态获取servlet虚拟路径_Day40_Servletamp;HTTPamp;Request
- 二维叉乘求三角形面积_角形
- Linux文件压缩解压命令
- HCIP-loT——关键特性
- Unity | 实现粘贴、复制功能
- cdn贝免费套餐_CDN贝网站seo
- 第十届全国大学生GIS应用技能大赛上午(试题及参考答案)
- 高频PCB设计设计技巧简述
- 微信公众平台订阅号、服务号和企业号三者之间的区别与联系
- 洛谷 P4208 [JSOI2008]最小生成树计数 矩阵树定理
- 如何阻止事件冒泡与默认事件?
- Win7及以上笔记本设置共享WiFi热点