Ant命令详解Word文档格式.docx
- 文档编号:22033132
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:16
- 大小:333.46KB
Ant命令详解Word文档格式.docx
《Ant命令详解Word文档格式.docx》由会员分享,可在线阅读,更多相关《Ant命令详解Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
为了更清楚的了解
,在这里编写一个简单的
程序,用来展现
的功能,让读者对
有一个初步的了解。
首先在
E
盘下建立一个
文件,内容如下:
<
?
xml
version="
1.0"
>
project
name
="
helloWorld"
target
sayHelloWorld"
echo
message
Hello,Amigo"
/>
/
读者可以进入
盘,然后运行
antsayHelloWorld
,可以看到如下的运行结果:
其中
sayHelloWorld
为需要执行的任务的名称。
如果文件名不为
,而为
hello.xml
时,读者运行同样的命令时,命令窗口会出现如下错误:
Buildfile:
build.xmldoesnotexist!
Buildfailed
由上面的命令的错误提示可以看出,
ant
命令默认寻找
文件。
若文件名为
时,读者还需要对命令做少许改变,改为:
ant–fhello.xmlsayHelloWorld
、
ant–buildfilehello.xmlsayHelloWorld
或
ant–filehello.xmlsayHelloWorld
接下来开始向读者讲解本节的重点:
的关键元素
property
和
task
1.
元素
元素是
构件文件的根元素,
构件文件至少应该包含一个
元素,否则会发生错误。
在每个
元素下,可包含多个
元素。
接下来向读者展示一下
元素的各属性。
1
)
属性
用于指定
元素的名称。
2
default
默认执行时所执行的
的名称。
3
basedir
用于指定基路径的位置。
该属性没有指定时,使用
的构件文件的附目录作为基准目录。
下面给读者一个简单的例子来展示
的各元素的使用。
修改
文件,修改后的内容如下:
projectStudy"
sayBaseDir"
apache-ant-1.7.0"
The
base
dir
is:
${basedir}"
从上面的内容我们可以看出,在这里定义了
属性的值为
sayBaseDir
,即当运行
命令时,若未指明执行的
时,默认执行的
,同时还定义了
,进入
盘后运行
命令,可看到运行的结果,如下图所示:
因为设定了
的值,所以
属性的值变成了读者设置的值。
读者可以自行将
元素的
属性去掉后运行
看看运行结果,此时
的值变成了
,即为
构件文件的父目录。
有的时候,读者可能有这种需求,即想得到某个
下所有的
的名称,读者可以通过在
命令里加上
-proecthelp
来达到该目的。
例如针对上述的例子我们运行
ant–projecthelp
,输出结果如下:
build.xml
Maintargets:
Othertargets:
sayBaseDir
Defaulttarget:
sayBaseDir
2.
它为
的基本执行单元,它可以包含一个或多个具体的任务。
多个
可以存在相互依赖关系。
它有如下属性:
指定
元素的名称,这个属性在一个
元素中是唯一的。
我们可以通过指定
元素的名称来指定某个
depends
用于描述
之间的依赖关系,若与多个
存在依赖关系时,需要以“
”间隔。
会依照
属性中
出现的顺序依次执行每个
被依赖的
会先执行。
if
用于验证指定的属性是否存在,若不存在,所在
将不会被执行。
4
unless
该属性的功能与
属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在
将会被执行。
5
description
该属性是关于
功能的简短描述和说明。
下面带领读者来看一个各属性综合使用的例子。
targetStudy"
targetA"
ant.java.version"
Version:
${ant.java.version}"
targetB"
amigo"
a
depend
example!
进入
anttargetB
,可看到如下图所示的运行结果:
读者分析结果后可以看到,我们运行的是名为
targetB
,因该
依赖于
targetA
,所以
将首先被执行,同时因为系统安装了
java
环境,所以
ant.java.version
属性存在,执行了
这个
,输出信息:
[echo]JavaVersion:
1.5
,
执行完毕后,接着执行
,因为
amigo
不存在,而
属性是在不存在时进入所在的
的,由此可知
得以执行,输出信息:
Thebasediris:
E:
3.
该元素可看作参量或者参数的定义,
的属性可以通过
元素来设定,也可在
之外设定。
若要在外部引入某文件,例如
build.properties
文件,可以通过如下内容将其引入:
propertyfile=”build.properties”/>
元素可用作
的属性值。
在
中是通过将属性名放在“
${
”和“
}
”之间,并放在
属性值的位置来实现的。
提供了一些内置的属性,它能得到的系统属性的列表与
文档中
System.getPropertis()
方法得到的属性一致,这些系统属性可参考
sun
网站的说明。
同时,
还提供了一些它自己的内置属性,如下:
:
基目录的绝对路径,该属性在讲解
元素时有详细说明,不再赘述;
ant.file
buildfile
的绝对路径,如上面的各例子中,
的值为
;
ant.version
的版本,在本文中,值为
ant.project.name
当前指定的
的名字,即前文说到的
属性的值;
检测到的
JDK
的版本,在上例运行结果中可看到为
1.5
下面让读者来看一个
元素使用的简单例子。
propertyStudy"
example"
name"
value
age"
25"
name:
${name},
age:
${age}"
该例的运行结果如下图所示:
由此读者可以看出,通过如下两个语句:
propertyname="
value="
我们设置了名为
age
的两个属性,这两个属性设置后,读者在下文中可以通过
${name}
${age}
分别取得这两个属性的值。
三.
的常用任务
工具中每一个任务封装了具体要执行的功能,是
工具的基本执行单位。
在本小节中,主要引导读者来看下
的常用任务及其使用举例。
copy
任务
该任务主要用来对文件和目录的复制功能。
举例如下:
Eg1.
复制单个文件:
copyfile="
file.txt"
tofile="
copy.txt"
Eg2.
对文件目录进行复制:
<
copytodir="
../newdir/dest_dir"
filesetdir="
src_dir"
/copy>
Eg3.
将文件复制到另外的目录:
todir="
../other/dir"
delete
对文件或目录进行删除,举例如下:
删除某个文件:
deletefile="
photo/amigo.jpg"
删除某个目录:
deletedir="
photo"
删除所有的备份目录或空目录:
deleteincludeEmptyDirs="
true"
."
includes="
**/*.bak"
/delete>
mkdir
创建目录。
eg
mkdirdir="
build"
4.
move
移动文件或目录,举例如下:
移动单个文件:
movefile="
fromfile"
tofile=”tofile”/>
移动单个文件到另一个目录:
todir=”movedir”/>
移动某个目录到另一个目录:
movetodir="
newdir"
olddir"
/move>
5.
该任务的作用是根据日志或监控器的级别输出信息。
它包括
file
append
level
四个属性,举例如下:
echomessage="
file="
logs/system.log"
append="
四.
利用
构建和部署
工程
可以代替使用
javac
jar
等命令来执行
操作,从而达到轻松的构建和部署
工程的目的。
下面来看几个知识点。
任务来编译
程序
任务用于实现编译
程序的功能。
下面来看一个简单的例子:
首先我们建立名为
antstudy
工程,建立
src
目录为源代码目录,在
目录下建立
HelloWorld.java
这个类文件。
该类文件的内容如下:
public
class
HelloWorld
{
static
void
main(String[]
args)
System.out.println("
);
}
同时在
工程的根目录下建立
文件,在该文件中编译
目录下的
文件,并将编译后的
文件放入
build/classes
目录中,在编译前,需清除
classes
目录,该文件的内容如下:
javacTest"
compile"
clean"
build/classes"
srcdir
src"
destdir
运行该
文件,可在工程中看到新增了
目录,并在该目录中生成了编译后的
HelloWorld.class
使用
任务运行
中可以使用
任务实现运行
下面在
的例子中进行如下的修改,修改后的
文件的内容如下:
javaTest"
jar"
run"
classname
HelloWorld"
classpath
pathelement
文件,可在控制台看到
main
方法的输出。
任务生成
文件
读者可以在上例的基础上更进一步,来生成
包,可在
run
下再加上如下
destfile
helloworld.jar"
manifest
attribute
Main-class"
此时将
属性设置为
,同时运行该
文件,运行完毕后,可看到在工程目录下生成了一个
包
HelloWorld.jar
war
任务打包
J2EEWeb
项目
建立一个
工程,其目录结构如下图所示:
为源代码目录,
WebRoot
为各
jsp
存放目录,
lib
为工程的包目录。
antwebproject
工程目录下建立了
文件,该文件为该工程的
构件文件。
读者可以
目录下放入在前续例子中开发的
文件,并在
下建立
index.jsp
文件,其内容很简单,就是输出
Hello
信息,代码如下所示:
%
@
page
language="
java"
contentType="
text/html;
charset="
UTF-8"
pageEncoding="
%>
!
DOCTYPE
html
PUBLIC
-//W3C//DTD
HTML
4.01
Transitional//EN"
//www.w3.org/TR/html4/loose.dtd"
head
meta
http-equiv
Content-Type"
content
charset=ISO-8859-1"
title
打包测试
body
Hello,Ant
接下来编写
文件,其内容如下:
antwebproject"
war"
classes"
lib"
WebRoot/WEB-INF/lib"
--
删除build
路径-->
建立build/classes
路径,并编译class
文件到build/classes
路径下-->
${classes}"
打war
包-->
${build}/antwebproject.war"
webxml
WebRoot/WEB-INF/web.xml"
拷贝WebRoot
下除了WEB-INF
和META-INF
的两个文件夹-->
fileset
dir
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ant 命令 详解