`
snowyvalley
  • 浏览: 147597 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

《eclipse in action》第五章 用ant构建项目

    博客分类:
  • Java
阅读更多

主要内容:

1 java的构建工具ant

2 ant 的projects,targets,tasks,properties

3 简单的ant 构建文件

5.3.1
xml和html
xml:extensible markup language 可扩展标记语言
1) html表现的是如何在网页上显示数据,他定义了一套标准的标签。
2) Html的标签有开始标签,可以没有结束标签如:《p》….《/p》也可以《p》而xml则必须匹配开始和结束标签
3) Xml的标签的嵌套必须正确而html则不必如:《b》《i》this is not valid in xml《/b》《/i》
4) Xml的标签是大小写敏感的,html则不是

元素:一个开始标签和一个结束标签定义了一个元素。
属性:开始标签中的名-值对是属性
xml中的注释:《! - -  do something here - - 》
空元素的写法:《java classname=”Hello.class”》《/java》或《java classname=”Hello.class” /》
5.3.2 ant 的默认构建描述文件是build.xml
在eclipse中运行ant脚本:在build.xml上右键选择run ant 可在控制台中显示结果
ant已集成到eclipse中,如果要得到新版本的ant,则其下载地址是:http://ant.apache.org
A  《project》
属性  描述   是否必须
default  要运行的默认目标 Y
name  项目名   N
basedir  基目录   N
description 项目描述  N
属性

《project name=”Hello” default=”compile” basedir=”.” Description=”Hello,World build file”》
‘.’代表的是build.xml所在的目录
可以嵌套的标签《description》《target》《property》

B Targets
属性  描述    是否必须
name  目标名    Y
depends  依赖列表   N
if  指定属性被设置时执行  N
unless  当指定属性未被设置时执行 N
description 目标描述   N

《target name=”compile” depends=”init” description =”Compile all sources”》

C Tasks

《buildnumber》从文件中读取构建的计数器每构建一次计数器加一写回文件

属性 描述    是否必须
file 读取的属性默认build.number N

《buildnumber file=”buildnum.txt” /》

copy任务属性
属性   描述   是否必须
file   源文件名 Y,除非使用fileset
tofile   目标文件名 Y,除非使用 todir
todir   目标目录 Y,如果多于1个文件
overwrite  覆盖较新的目标文件 N,默认false
includeEmptyDirs 拷贝空目录 N,默认true
failonerror  文件未发现停止构建 N,默认true
verbose   列出拷贝文件 N,默认false

《copy file=”log4j.properties” todir=”bin” /》
《copy》拷贝一个文件file 属性 拷贝一组文件 《fileset》 元素嵌套

delete任务属性
属性   描述  是否必须
file   要删除的文件 Y,除非是dir或fileset
dir   要删除的目录 Y,除非file fileset
verbose   删除文件列表 N,默认false
failonerror  有错误停在 N,默认true
includeEmptyDirs 删除的目录当fileset指定 N,默认false

《delete file=”ant.log” /》
《delete dir=”temp” /》
《delete》 删除一个文件使用file属性,一组文件用《fileset》元素嵌套或目录用 directory属性

echo任务属性:
《echo》向终端,文件写信息
属性 描述  是否必须
message 信息  Y,除非文本做为元素内容
file 输出文件 N
append 是否追加到文件 N,默认false
《echo messag=”Hello” /》
《echo》this is a Message form ant 《/echo》

jar任务属性:
《jar》将一组文件压缩为一个jar文件
属性  描述  是否必须
destfile Jar文件名 Y
basedir 要打包的目录 N
includes 包含的文件 N
excludes 排除的文件 N

《jar destfile=”dist/persistence.jar” basedir=”bin” includes=”org/ecli/persis/**,org/ecli/astr/**” excludes=”*Text*.class” /》
《jar destfile="dist/persistence.jar"》
《include name="**/*.class"/》
《exclude name="**/*Test*"/》
《/jar》
java任务属性:
《java》 可以嵌套的元素《classpath》用来替代classpath属性
属性   描述  是否必须
classname 要运行的类名  Y,除非指定jar
jar  执行的jar  Y,除非指定clsssname
classpath 使用的类路径  N
fork  是否使用较新的JVM N,默认false
failonerror 错误发生是否停止 N,默认false
output  输出文件  N
append  追加或覆盖默认文件 N
《java classname="HelloWorld"/》
《java classname="Add" classpath="${basedir}/bin"》
《arg value="100"/》
《arg value="200"/》
《/java》
《arg》 指定命令行参数

javac任务属性:
《javac》 编译java文件 可以嵌套的元素《classpath》《jar》
属性   描述  是否必须
srcdir   源目录  Y,除非src使用
destdir   输出目录 N
includes  包含的编译文件 N,默认包含所有java文件
excludes  忽略的文件 N
classpath  使用的类路径 N
debug   是否包含调试信息 N,默认false
optimize  使用优化 N,默认false
verbose   提供verbose输出 N
failonerror  错误发生是否停止 N,默认true

《javac srcdir="src" destdir="bin"/》
《javac srcdir="${basedir}" destdir="bin"
includes="org/eclipseguide/persistence/**"
excludes="**/*Test*"》
《classpath》
《pathelement path="${java.class.path}"/》
《pathelement location=
"D:/log4j/jakarta-log4j-1.2.8/dist/lib/log4j-1.2.8.jar"/》
《/classpath》
《/javac》
javadoc任务属性:
《javadoc》从java的源文件中产生javadoc文档,可嵌套的元素为《fileset》《packageset》《classpath》
属性  描述   是否必须
sourcepath 源路径 Y,除非指定sorcefiles,sorcepathref
sourcepathref 源路径参照 Y, 除非指定sorcepath,sorcefiles
sourcefiles 源文件,逗号分隔 Y, 除非指定sorcepath,sorcepathref
destdir  目标目录 Y, 除非指定doclet
classpath 类路径 N
public  仅显示公共类,成员 N
protected 仅显示保护的,公共类,成员 N,默认true
package  仅显示包,保护的,公共类,成员 N
private  显示所有类,成员 N
version  包含版本信息 N
use  包含use信息 N
author  包含作者信息 N
failonerror 错误发生是否停止 N,默认true

《javadoc destdir="doctest"
sourcefiles=
"src/org/eclipseguide/persistence/ObjectManager.java"/》
《javadoc destdir="doc"
author="true"
version="true"
use="true"
package="true"》
《fileset dir="${src}/org/eclipseguide/astronomy/"》
《include name="**/*.java"/》
《exclude name="**/*Test*"/》
《/fileset》
《classpath》
《pathelement path="${java.class.path}"/》
《pathelement location=
"D:/log4j/jakarta-log4j-1.2.8/dist/lib/log4j-1.2.8.jar"/》
《/classpath》
《/javadoc》

《mkdir》创建目录
属性 描述 是否必须
dir 要建立的目录 Y
《mkdir dir="dist/doc"/》
《tstamp》时间戳
DSTAMP yyyyMMdd
TSTAMP hhmm
TODAY MMM dd yyyy
C 属性
可以把属性写在一个文件中,用《property file=”build.properties”》指定并读取
# build.properties
junit_home=D:/junit/junit3.8.1
log4j_home=D:/log4j/jakarta-log4j-1.2.8
可以这样使用:
《property file="build.properties"/》

D fileset
《fileset》中的通配符
‘?’ 任何一个字符
‘*’0个或多个字符
‘**’0个或多个目录
属性  描述 是否必须
dir  目录 Y
includes 包含文件 N
excludes 排除文件 N
《fileset dir="src/org/eclipseguide/astronomy"
includes="**/*.java"
excludes="**/*Test*"/》
《fileset dir="src/org/eclipseguide/astronomy/"》
《include name="**/*.java"/》
《exclude name="**/*Test*"/》
《/fileset》

E classpath
属性 描述 是否必须
path 路径 N
location 独立文件或目录 N
《classpath path="bin"/》
《classpath》
《pathelement path="${java.class.path}"/》
《pathelement location="${junit_path}"/》
《pathelement location="${log4j_path}"/》
《/classpath》
F refid
ant的元素都可以设置一个ID,你可以通过这个ID来引用这个元素
设置classpath
《classpath id="common_path"》
《pathelement path="${java.class.path}"/》
《pathelement location="${junit_path}"/》
《pathelement location="${log4j_path}"/》
《/classpath》
引用:
《javac srcdir="src" destdir="bin"》
《classpath refid="common_path"/》
《/javac》

分享到:
评论

相关推荐

    Manning - Eclipse in Action

    - **第5章:使用Ant构建** - 介绍Ant作为构建工具的基础知识。 - 展示如何在Eclipse中配置和运行Ant脚本。 - 提供实用示例来说明如何自动化常见的构建任务。 - **第6章:使用CVS进行源代码控制** - 介绍版本控制...

    Eclipse In Action

    6. **Chapter 6**: 第六章可能会讲解Eclipse的构建工具,如Ant或Maven的集成,以及自动构建和部署的流程。 7. **Chapter 7**: 虽然未提供此章节,但通常会涉及代码重构、代码分析和代码质量检查工具,如JDT Lint或...

    Manning - Eclipse In Action

    5. **构建工具**:介绍使用Ant和Maven进行项目构建,理解构建脚本的编写和配置,以及如何在Eclipse中集成这些工具。 6. **版本控制系统**:讲解如何在Eclipse中集成Git、SVN等版本控制工具,进行代码版本管理,协同...

    Eclipse in Action

    - **构建脚本**:教授如何编写Ant构建脚本来管理项目构建流程。 #### 第六章:使用CVS进行版本控制 - **CVS简介**:介绍CVS的基本概念,包括工作副本、仓库等。 - **共享项目**:演示如何将项目添加到CVS仓库,并...

    Eclipse in action

    第五章将介绍如何在Eclipse中配置和使用Ant来构建项目。 - **使用CVS进行源代码控制**: - CVS是一个版本控制系统,用于跟踪源代码的变化历史。第六章将指导读者如何在Eclipse中集成CVS,实现对代码版本的有效管理。...

    Ant in Action

    《Ant in Action》是Manning出版社于2007年7月推出的第二版技术书籍,主要专注于Apache Ant这一构建工具的使用和实践。Ant是一个基于Java的构建工具,它允许开发者通过XML描述构建过程,包括编译、打包、测试等任务...

    Eclispe in action

    第五章“Building with Ant”讲解了如何在Eclipse中集成Ant这一强大的构建工具。Ant是一种基于XML的Java编译和部署工具,它可以用来自动化项目的构建过程。本章会介绍如何配置Eclipse使其支持Ant脚本,并演示如何...

    Gradle in Action

    在Gradle in Action这本书中,作者Benjamin Muschko详细介绍了Gradle的各个层面,让读者可以全面细致地学习和掌握Gradle的使用方法。本书的内容分为三个部分: ### 第一部分:Gradle入门 1. **项目自动化介绍**:...

    零基础学Java.Web开发

    3. **第五章 Servlet技术基础知识**: - Servlet是Java Web服务器端处理HTTP请求的核心技术,讲解Servlet生命周期、服务方法、过滤器和监听器等。 - 实现动态网页,通过HttpServlet处理HTTP请求,生成响应。 4. *...

    第一章、STRUTS2.0开发环境

    4. **Maven或Ant**:构建工具,Maven更现代化,可自动管理依赖。通过在pom.xml文件中指定Struts2的依赖,可以轻松引入所需库。 三、Struts2.0项目创建与配置 1. **创建新项目**:在IDE中创建一个新的Dynamic Web ...

    liferay-6.2-sdk

    尽管Liferay 6.2 SDK主要基于Ant构建系统,但随着Maven的普及,开发者也可以选择使用Maven构建Liferay插件。Liferay提供了Maven插件,使开发者能将项目转换为Maven工程,从而利用Maven的依赖管理和构建生命周期。 *...

    JAVA资料下载大全

    - 描述: Ant是一款用于Java项目的自动化构建工具,本书详细介绍了Ant的使用方法。 - **链接**: http://bbs.topsage.com/dispbbs.asp?boardID=121&ID=174683 14. **Better Faster Lighter Java** - 描述: 提供了...

    struts2教程 chm格式

    Struts2是一个强大的MVC(Model-View-Controller)框架,它是Apache软件基金会下的一个开源项目,用于构建企业级的Java Web应用程序。本教程旨在帮助初学者和开发者快速掌握Struts2的基础知识和核心概念。 Struts2...

    struts2,今天终于把环境搭好了,

    3. **Maven或Ant**:构建工具,帮助管理项目依赖。推荐使用Maven,因为它提供了更方便的依赖管理和构建流程。 4. **Eclipse或IntelliJ IDEA**:集成开发环境,便于编写、调试代码。选择你喜欢的一个安装。 接下来,...

    struts学习资料

    1. **环境搭建**:安装必要的开发工具,如Java JDK、IDE(如Eclipse、IntelliJ IDEA)、Maven或Ant,然后配置Struts2的开发环境。 2. **编写第一个Struts2程序**:创建Action类,编写简单的配置文件,实现一个简单...

    android客户端与服务器端的搭建.ppt

    3. 可选地,安装ANT构建工具,用于自动化构建和发布APK应用程序。 4. 配置相应的环境变量,例如: - `Android_SDK_HOME` 指向SDK的解压目录 - `ANT_HOME` 指向Apache Ant的解压目录 - `classpath` 包含相关库路径...

Global site tag (gtag.js) - Google Analytics