ant+eclipse知识点详解及使用案例
ant的优点和地位就不再阐述,下面直接上知识点:
在java中使用xml文件开发,有以下基本语法
(1)project:每个ant程序有且只有一个此标签,而且是类似于html的总标签,有name,default,description,basedir四个属性,当然了我们也可以写到标签内,也可以单独的写成一个嵌套在project标签内的子标签,这四个属性中最为重要的就是default属性,必不可少;basedir属性一般都是“.”;
(2)target:一个项目可以定义多个target标签,一个标签可以依赖其他的target标签,使用depends属性就可以了,但是执行的顺序按照“只要某个target依赖于另一个target,后者就会被先执行”的标准,还有就是在标签示例中有一个default=”all”,这说明在默认情况下all这个target会被执行;不常用的属性还有if(仅当属性设置时执行目标)和unless(仅当属性没有设置时执行目标),description(目标的描述),name属性必不可少,因为这个名字会被其他的target作为depends的标记;
(3)property:一个项目可以有很多的property,可以在构建文件中使用ant内置的属性标记property。其以名值对的方式存在,对属性值的引用可以通过”${propertyName}”来实现。
(4)echo:此标记用于将消息写到System.out,有以下两种方式:
<echo message="Message you want"/>
或
<echo>Message you want</echo>```
;此标签有常用的三个属性,message,file(输出的文件),append(用于将输出追加到文件之后,而非覆盖文件)
(5)copy:此标记用于将一个或一组文件从一处拷贝到另一处。常用的属性有以下几个,file(要移动的源文件),tofile(目标文件),todir(目标文件夹),overwrite(指定是否覆盖目标文件,默认是不覆盖),includeEmptyDirs(指定是否拷贝空的文件夹,默认为拷贝),failonerror(指定目标文件或文件夹没有发现是否自动停止,默认是自动停止),verbose(指定是否记录所拷贝的文件,默认为不记录),下面是一些典型的应用实例:
拷贝一个目录到另一个目录下
(6)mkdir:此标记用于创建一个目录,如果其父目录不存在,也会被同时的创建;具体案例如:<mkdir dir="${dist.javadocs}"/>其中dir属性制定了所创建的目录名称。
(7)jar:此标记用于将.class文件打包,生成一个.jar文件有以下几个常用的属性,destfile(打包后的.jar文件名称),includes(包中要包含在内的文件),excludes(包中所要排除的文件),basedir(要打包的文件目录)。具体的使用案例有:
将"${build}/classes"下面的所有的文件打包到"${dist}/lib/app.jar"中
(8)<javac>:此标记用于变异一个或一组java文件,常用的属性如下,srcdir(被编译的源文件的目录),destdir(.class文件的输出目录),includes(),excludes(),debug(编译时是否包含调试信息),classpath(编译时使用到的类的路径),fileonerror(),verbose(提供详细的输出),optimize(编译时是否使用优化)。下面的是一个具体的使用案例:编译${src}目录及其子目录下的所有的.jave文件,.class 文件将放在${build}指定的目录下,classpath表示要用到的类文件或者目录,debug设置为on表示输出调试信息
`<javac srcdir="${src}" destdir="${build}" classpath="abc.jar" debug="on"/>`
(9)<java>:标记用来执行编译生成的.class文件,常用的属性有以下几个,classname(要执行的里的名称),jar(包含该类的jar文件名),classpath(执行时用到的类的路径),output(输出文件),append(追加或者覆盖默认文件),fork(在一个新的虚拟机中运行该类),fileonerror(),使用方法见下面:
在classname中指定要执行的类,在classpath中设置要使用的类的路径
(10)<delete>:此标记用来删除一个文件或者一组文件。当其属性名为includeEmptyDirs为true时,删除指定的目录,包含它自己。
ant的具体的使用案例,为了演示效果,我们在eclipse中新建一个项目,内写一个名为HelloWorld.java的类,代码如下:
package com.tiger;
public class HelloWorld {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("世界,你好!");
}
}
然后创建一个名为build.xml的文件,右键使用ant editer 打开,然后输入如下代码:
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================
2015年10月10日 下午1:23:10
project
description
Administrator
====================================================================== -->
<project default="build" basedir=".">
<property name="appname" value="HelloWorld"></property>
<property name="base" value="."></property>
<property name="src" value="src"></property>
<property name="build" value="classes"></property>
<property name="myclasspath" value="${build}"></property>
<description>
How to make description ?
</description>
<!-- =================================
target: default
================================= -->
<target name="build" >
<mkdir dir="${build}"/>
<javac classpath="${myclasspath}" srcdir="${base}" destdir="${build}">
<include name="**/*.java"/>
</javac>
</target>
<!-- - - - - - - - - - - - - - - - - -
target: depends
- - - - - - - - - - - - - - - - - -->
<target name="clean">
<delete includeemptydirs="true">
<fileset dir="${build}"></fileset>
</delete>
</target>
</project>
,然后运行就可以看到具体的的结果了。好了,差不多就是这些了。
ant+eclipse知识点详解及使用案例的更多相关文章
- linux管道命令grep命令参数及用法详解---附使用案例|grep
功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...
- Activity知识点详解
Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...
- Hive学习之三 《Hive的表的详解和应用案例详解》
一.Hive的表 Hive的表分为内部表.外部表和分区表. 1.内部表,为托管表. 2.外部表,external. 3.分区表. 详解: 内部表,删除表的时候,数据会跟着删除. 外部表,在删除表的时候 ...
- python爬虫知识点详解
python爬虫知识点总结(一)库的安装 python爬虫知识点总结(二)爬虫的基本原理 python爬虫知识点总结(三)urllib库详解 python爬虫知识点总结(四)Requests库的基本使 ...
- 移动端js触摸touch详解(附带案例源码)
移动端触摸滑动原理详解案例,实现过程通过添加DOM标签的触摸事件监听,并计算触摸距离,通过距离坐标计算触摸角度,最后通过触摸角度去判断往哪个方向触摸的. 触摸的事件列表 触摸的4个事件: touchs ...
- 「JVM」知识点详解一:JVM运行原理详解
前言 JVM 一直都是面试的必考点,大家都知道,但是要把它搞清楚又好像不是特别容易.JVM 的知识点太散,不系统,今天带大家详细的了解一下jvm的运行原理. 正文 1 什么是JVM? JVM是Java ...
- Oracle 冷备份详解【实战案例】
Oracle 冷备份详解 --准备工作 select * from v$database; select file_name from dba_data_files; create tablespac ...
- OpenStack知识点详解
一:云计算 一.起源 1. 云计算这个概念首次在2006年8月的搜索引擎会议上提出,成为了继互联网.计算机后信息时代的又一种革新(互联网第三次革命). 2. 云计算的核心是将资源协调在一起,使 ...
- Java Ant build.xml详解
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为 ...
随机推荐
- Response ServletContext 中文乱码 Request 编码 请求行 共享数据 转发重定向
Day35 Response 1.1.1 ServletContext概念 u 项目的管理者(上下文对象),服务器启动时,会为每一个项目创建一个对应的ServletContext对象. 1.1.2 ...
- 一些重要的计算机网络协议(IP、TCP、UDP、HTTP)
一.计算机网络的发展历程 1.计算机网络发展 与其说计算机改变了世界,倒不如说是计算机网络改变了世界.彼时彼刻,你我都因网络而有了交集,岂非一种缘分? 计算机与网络发展大致经历如下过程:
- JAVA中的常量定义在class中还是interface中比较合理?
本文地址:http://blog.csdn.net/sushengmiyan 本文作者:苏生米沿 java中使用的常量可以集中定义在一个文件中. 有两种解决方案: 1.在Constants.java中 ...
- python复杂网络库networkx:算法
http://blog.csdn.net/pipisorry/article/details/54020333 Networks算法Algorithms 最短路径Shortest Paths shor ...
- 大话XML解析
之前我写过一篇关于xml解析的文章:http://blog.csdn.net/sdksdk0/article/details/50749326.今天这篇文章主要是进一步加深对xml基础的理解了使用,毕 ...
- J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())
J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate()) 当我们使用Hibernate进行数据的CRUD操作时,利用模版进行操作不失为一种方法. ...
- Android简易实战教程--第三十三话《 AsyncTask异步倒计时》
本篇小案例,完成一个倒计时.方式选择AsyncTask.代码贴在下面: 布局文件soeasy: <LinearLayout xmlns:android="http://schemas. ...
- linux源码编译安装OpenCV
为了尽可能保证OpenCV的特性,使用OpenCV源码编译安装在linux上.先从安装其依赖项开始,以ubuntu 14.04.X为例讲解在Linux上源码编译安装OpenCV,其他linux版本可以 ...
- android推荐使用dialogFrament而不是alertDialog
DialogFragment在android 3.0时被引入.是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框.典型的用于:展示警告框,输入框,确认框等等. 在Dia ...
- 详解EBS接口开发之供应商导入(补充)--供应商银行账户更新
CREATE OR REPLACE PACKAGE BODY update_vendor_account IS PROCEDURE main(errbuf OUT VARCHAR2, retcode ...