原文地址:
http://tech.it168.com/j/2007-11-09/200711091344781.shtml
本文请勿转载!
Ant
是一个
Apache
基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将
Ant
应用到
Java
项目中,让它简化构建和部署操作。
一.
安装与配置
下载地址:
http://ant.apache.org/
,在本文中下载的是
1.7.0
版本。解压到某个目录(例如
E:"apache-ant-1.7.0
),即可使用。
添加系统环境变量:
ANT_HOME
,该变量指向
Ant
解压后的根目录,在此为
E:"apache-ant-1.7.0
。
安装与配置完毕后,读者可以测试一下
Ant
是否可用,首先进入
Ant
的
bin
目录,运行命令
ant –version
,若安装和配置成功,则会显示
Ant
版本信息,如下图所示:
由上可以看出,读者运行
Ant
的命令时,需要进入到
Ant
的
bin
目录,如何才能让系统自动找到
Ant
呢?这时需要读者在系统环境变量
path
中添加
Ant
的
bin
目录。设置完成后,我们就可以在任何目录(例如
C:"Documents and Settings"AmigoXie
目录)输入
Ant
的命令,来获得命令的运行结果。
二.
Ant
的关键元素
Ant
的构件文件是基于
XML
编写的,默认名称为
build.xml
。为了更清楚的了解
Ant
,在这里编写一个简单的
Ant
程序,用来展现
Ant
的功能,让读者对
Ant
有一个初步的了解。首先在
E
盘下建立一个
build.xml
文件,内容如下:
<?
xml version="1.0"
?>
<
project
name
="helloWorld">
<
target
name
="sayHelloWorld">
<
echo
message
="Hello,Amigo"/>
</
target
>
</
project
>
读者可以进入
E
盘,然后运行
ant sayHelloWorld
,可以看到如下的运行结果:
其中
sayHelloWorld
为需要执行的任务的名称。如果文件名不为
build.xml
,而为
hello.xml
时,读者运行同样的命令时,命令窗口会出现如下错误:
Buildfile: build.xml does not exist!
Build failed
由上面的命令的错误提示可以看出,
ant
命令默认寻找
build.xml
文件。若文件名为
hello.xml
时,读者还需要对命令做少许改变,改为:
ant –f hello.xml sayHelloWorld
、
ant –buildfile hello.xml sayHelloWorld
或
ant –file hello.xml sayHelloWorld
。
接下来开始向读者讲解本节的重点:
Ant
的关键元素
project
、
target
、
property
和
task
。
1.
project
元素
project
元素是
Ant
构件文件的根元素,
Ant
构件文件至少应该包含一个
project
元素,否则会发生错误。在每个
project
元素下,可包含多个
target
元素。接下来向读者展示一下
project
元素的各属性。
1
)
name
属性
用于指定
project
元素的名称。
2
)
default
属性
用于指定
project
默认执行时所执行的
target
的名称。
3
)
basedir
属性
用于指定基路径的位置。该属性没有指定时,使用
Ant
的构件文件的附目录作为基准目录。
下面给读者一个简单的例子来展示
project
的各元素的使用。修改
E:"build.xml
文件,修改后的内容如下:
<?
xml version="1.0"
?>
<
project
name
="projectStudy"
default
="sayBaseDir"
basedir
="E:"
apache-ant-1.7.0"
>
<
target
name
="sayBaseDir">
<
echo
message
="The base dir is: ${basedir}"/>
</
target
>
</
project
>
从上面的内容我们可以看出,在这里定义了
default
属性的值为
sayBaseDir
,即当运行
ant
命令时,若未指明执行的
target
时,默认执行的
target
的
sayBaseDir
,同时还定义了
basedir
属性的值为
E:"apache-ant-1.7.0
,进入
E
盘后运行
ant
命令,可看到运行的结果,如下图所示:
因为设定了
basedir
的值,所以
basedir
属性的值变成了读者设置的值。读者可以自行将
project
元素的
basedir
属性去掉后运行
ant
看看运行结果,此时
basedir
的值变成了
E:"
,即为
Ant
构件文件的父目录。
有的时候,读者可能有这种需求,即想得到某个
project
下所有的
target
的名称,读者可以通过在
ant
命令里加上
-proecthelp
来达到该目的。例如针对上述的例子我们运行
ant –projecthelp
,输出结果如下:
Buildfile: build.xml
Main targets:
Other targets:
sayBaseDir
Default target: sayBaseDir
2.
target
元素
它为
Ant
的基本执行单元,它可以包含一个或多个具体的任务。多个
target
可以存在相互依赖关系。它有如下属性:
1
)
name
属性
指定
target
元素的名称,这个属性在一个
project
元素中是唯一的。我们可以通过指定
target
元素的名称来指定某个
target
。
2
)
depends
属性
用于描述
target
之间的依赖关系,若与多个
target
存在依赖关系时,需要以“
,
”间隔。
Ant
会依照
depends
属性中
target
出现的顺序依次执行每个
target
。被依赖的
target
会先执行。
3
)
if
属性
用于验证指定的属性是否存在,若不存在,所在
target
将不会被执行。
4
)
unless
属性
该属性的功能与
if
属性的功能正好相反,它也用于验证指定的属性是否存在,若不存在,所在
target
将会被执行。
5
)
description
属性
该属性是关于
target
功能的简短描述和说明。
下面带领读者来看一个各属性综合使用的例子。修改
E:"build.xml
文件,修改后的内容如下:
<?
xml version="1.0"
?>
<
project
name
="targetStudy">
<
target
name
="targetA"
if
="ant.java.version">
<
echo
message
="Java Version: ${ant.java.version}"/>
</
target
>
<
target
name
="targetB"
depends
="targetA"
unless
="amigo">
<
description
>
a depend example!
</
description
>
<
echo
message
="The base dir is: ${basedir}"/>
</
target
>
</
project
>
进入
E
盘后运行
ant targetB
,可看到如下图所示的运行结果:
读者分析结果后可以看到,我们运行的是名为
targetB
的
target
,因该
target
依赖于
targetA
,所以
targetA
将首先被执行,同时因为系统安装了
java
环境,所以
ant.java.version
属性存在,执行了
targetA
这个
target
,输出信息:
[echo] Java Version: 1.5
,
targetA
执行完毕后,接着执行
targetB
,因为
amigo
不存在,而
unless
属性是在不存在时进入所在的
target
的,由此可知
targetB
得以执行,输出信息:
The base dir is: E:"
。
3.
property
元素
该元素可看作参量或者参数的定义,
project
的属性可以通过
property
元素来设定,也可在
Ant
之外设定。若要在外部引入某文件,例如
build.properties
文件,可以通过如下内容将其引入:
<property file=” build.properties”/>
property
元素可用作
task
的属性值。在
task
中是通过将属性名放在“
${
”和“
}
”之间,并放在
task
属性值的位置来实现的。
Ant
提供了一些内置的属性,它能得到的系统属性的列表与
Java
文档中
System.getPropertis()
方法得到的属性一致,这些系统属性可参考
sun
网站的说明。
同时,
Ant
还提供了一些它自己的内置属性,如下:
basedir
:
project
基目录的绝对路径,该属性在讲解
project
元素时有详细说明,不再赘述;
ant.file
:
buildfile
的绝对路径,如上面的各例子中,
ant.file
的值为
E:"build.xml
;
ant.version
:
Ant
的版本,在本文中,值为
1.7.0
;
ant.project.name
:当前指定的
project
的名字,即前文说到的
project
的
name
属性的值;
ant.java.version
:
Ant
检测到的
JDK
的版本,在上例运行结果中可看到为
1.5
。
下面让读者来看一个
property
元素使用的简单例子。修改
E:"build.xml
文件,内容如下:
<?
xml version="1.0"
?>
<
project
name
="propertyStudy"
default
="example">
<
property
name
="name"
value
="amigo"/>
<
property
name
="age"
value
="25"/>
<
target
name
="example">
<
echo
message
="name: ${name}, age: ${age}"/>
</
target
>
</
project
>
该例的运行结果如下图所示:
由此读者可以看出,通过如下两个语句:
<property name="name" value="amigo"/>
<property name="age" value="25"/>
我们设置了名为
name
和
age
的两个属性,这两个属性设置后,读者在下文中可以通过
${name}
和
${age}
分别取得这两个属性的值。
三.
Ant
的常用任务
在
Ant
工具中每一个任务封装了具体要执行的功能,是
Ant
工具的基本执行单位。在本小节中,主要引导读者来看下
Ant
的常用任务及其使用举例。
1.
copy
任务
该任务主要用来对文件和目录的复制功能。举例如下:
Eg1.
复制单个文件:
<copy file="file.txt" tofile="copy.txt"/>
Eg2.
对文件目录进行复制:
<copy todir="../newdir/dest_dir">
<fileset dir="src_dir"/>
</copy>
Eg3.
将文件复制到另外的目录:
<copy file="file.txt" todir="../other/dir"/>
2.
delete
任务
对文件或目录进行删除,举例如下:
Eg1.
删除某个文件:
<delete file="photo/amigo.jpg"/>
Eg2.
删除某个目录:
<delete dir="photo"/>
Eg3.
删除所有的备份目录或空目录:
<delete includeEmptyDirs="true">
<fileset dir="." includes="**/*.bak"/>
</delete>
3.
mkdir
任务
创建目录。
eg
:
<mkdir dir="build"/>
4.
move
任务
移动文件或目录,举例如下:
Eg1.
移动单个文件:
<move file="fromfile" tofile=”tofile”/>
Eg2.
移动单个文件到另一个目录:
<move file="fromfile" todir=”movedir”/>
font-siz
分享到:
相关推荐
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
Centos7-离线安装redis
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
这个是一个JSP实现的在线仓库管理系统,管理员角色包含以下功能:仓库管理员登录,货品&类别信息管理,采购信息管理,出库和入库管理,财务信息管理,管理员管理等功能。 本项目实现的最终作用是基于JSP实现的在线仓库管理系统 分为1个角色 第1个角色为管理员角色,实现了如下功能: - 仓库管理员登录 - 出库和入库管理 - 管理员管理 - 财务信息管理 - 货品&类别信息管理 - 采购信息管理
开发语言:Java JDK版本:JDK1.8(或11) 服务器:tomcat 数据库:mysql 5.6/5.7(或8.0) 数据库工具:Navicat 开发软件:idea 依赖管理包:Maven 代码+数据库保证完整可用,可提供远程调试并指导运行服务(额外付费)~ 如果对系统的中的某些部分感到不合适可提供修改服务,比如题目、界面、功能等等... 声明: 1.项目已经调试过,完美运行 2.需要远程帮忙部署项目,需要额外付费 3.本项目有演示视频,如果需要观看,请联系我v:19306446185 4.调试过程中可帮忙安装IDEA,eclipse,MySQL,JDK,Tomcat等软件 重点: 需要其他Java源码联系我,更多源码任你选,你想要的源码我都有! https://img-blog.csdnimg.cn/direct/e73dc0ac8d27434b86d886db5a438c71.jpeg
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
备自投tp.pptx
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
ai制作动物时装走秀-课程网盘链接提取码下载 .txt
箱式变压器的基础知识tp.pptx
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
这个是一个JSP校园二手物品交易信息平台,管理员登录,订单管理,二手交易管理,物品租借管理,物品分类管理,留言板管理,网站公告管理,用户信息管理等功能。用户角色包含以下功能:用户首页,二手物品查看,物品租借查看,优惠活动管理,我的二手交易,加入购物车,查看我的购物车等功能。
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
埃森哲--xx市场营销再造项目gltp.pptx
大学生毕业设计、大学生课程设计作业
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
【资源说明】 基于python+pyqt的实时数据可视化精密加工机床主轴负载实时监控平台设计与测试具体实现数据采集与处理、实时数据可视化、数据库整合、用户交互等功能+全部资料齐全+部署文档 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).JAVA班主任管理系统(源代码+LW).
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。