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相关推荐

  1. ant的高级使用,ant命令详解,ant打包,ant编译后打包去掉jar文件

    在日常的项目开发中,我们可以经常性的需要打包测试,尤其是开发环境是windows,而实际环境则是linux. 这样的话,很多程序员要一会打一个包,一会打一个包,这些包可能会很大,实际上只有代码部分会变 ...

  2. docker build命令详解_Docker镜像与容器常用命令图文详解

    一.系统命令 #查看docker版本 docker version #查看docker的系统信息,包含镜像容器的数量 docker info #查看docker的所有命令 docker --help ...

  3. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  4. java文件打包jar文件_把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  5. Android自动化测试环境部署及adb sdkmanager avdmanager Monitor DDMS工具使用及命令详解

    环境部署及工具使用 系列文章 前言 环境部署 硬件环境 软件环境 ADB工具 adb组成 adb命令 android命令 sdkmanager 命令 avdmanager命令 管理模拟器 monito ...

  6. Gradle命令详解

    Gradle命令详解 我们介绍了 Gradle 的任务声明,任务依赖,Gradle 构建的顺序等.其实在文章中我们也提到了一些 Gradle 命令.本文我们将为大家介绍一下 Gradle 的命令,包括 ...

  7. linux远程date命令,linux之date命令详解

    date命令的用处 1.用于显示特殊的时间格式,可以用于对日志文件的命名 2.用于设置时间 ,不过这方面用的比较少,因为一般的服务器都设置的有自动同步网络时间 用法: date [OPTION]... ...

  8. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  9. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

最新文章

  1. 【数据结构】关键路径
  2. 给AI系统做“安全体检”,阿里安全提出自动化AI对抗平台CAA | AAAI 2021
  3. wxWidgets学习 (2) -- 事件处理
  4. 24帧动画走路分解图_人眼只能分辨24帧?我们来聊聊高刷新率的意义
  5. 在Android App中集成Google登录
  6. 【Day09】JavaScript 为什么要区分微任务和宏任务
  7. oracle中block
  8. UTF-8 + BOM引起的模板空格问题(PHP使用任何模板引擎貌似都有此问题)
  9. 前端动态获取servlet虚拟路径_Day40_Servletamp;HTTPamp;Request
  10. 二维叉乘求三角形面积_角形
  11. Linux文件压缩解压命令
  12. HCIP-loT——关键特性
  13. Unity | 实现粘贴、复制功能
  14. cdn贝免费套餐_CDN贝网站seo
  15. 第十届全国大学生GIS应用技能大赛上午(试题及参考答案)
  16. 高频PCB设计设计技巧简述
  17. 微信公众平台订阅号、服务号和企业号三者之间的区别与联系
  18. 洛谷 P4208 [JSOI2008]最小生成树计数 矩阵树定理
  19. 如何阻止事件冒泡与默认事件?
  20. Win7及以上笔记本设置共享WiFi热点

热门文章

  1. 微信唤起外部浏览器打开指定链接 微信跳转下载APP实现代码
  2. 位图与矢量图区别及png8与png24区别
  3. 新年快乐+情人节快乐!
  4. 杰里之酷牛协议用户信息配置【篇】
  5. C#实现键盘鼠标模拟器
  6. android%3cspan,新时代赌城全部网址
  7. 百度糯米app中关闭网页或窗口的方法,99%的人都不知道,网上也找不到
  8. STM32CubeMX配置Encoder模式驱动EC11旋转编码器
  9. 用OleDbConnection打开Excel
  10. HP cq40 笔记本拆机详细教程