免费wap自助建站网站,企业所得税征收方式,图像编辑器,做网站的一定要开80或8080端口Ant是什么#xff1f;
Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具。Ant是一个Java库和命令行工具#xff0c;可帮助构建软件。把源代码构建成一个可发布的项目。 功能#xff1a;#xff08;如果刚接触#xff0c;能理解才奇了怪了#xff0…Ant是什么
Ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具。Ant是一个Java库和命令行工具可帮助构建软件。把源代码构建成一个可发布的项目。 功能如果刚接触能理解才奇了怪了先不去管它是什么先会用
Ant 是最完整的Java构建和部署工具。Ant是平台无关的可以处理特定平台的属性如文件分隔符。Ant 可以用于执行特定任务的平台例如使用“触摸’命令修改文件的修改时间。Ant 脚本使用的是纯XML编写的。如果你已经熟悉XML你可以学习Ant 很快。Ant擅长复杂的自动化重复的任务。Ant 自带的预定义任务的大名单。Ant提供了开发自定义任务的界面。Ant可以在命令行中很容易地调用它可以与免费的和商业的IDE集成。
Ant的下载和安装
安装Ant之前要安装jdk 登录https://ant.apache.org/bindownload.cgi下载Ant最新版。建议windows系统下载zip压缩包Linux下载.gz压缩包。 解压之后文件结构 1、bin:启动和运行Ant的可执行命令。 2、etc:包含一些样式单文件通常无需理会。 3、lib:包含Ant的核心类库以及编译和运行Ant的第三方类库。 4、manual:Ant工具的相关文档对学习Ant很有帮助。
设置系统环境变量
新建环境变量ANT_HOME变量值Ant安装路径。 在变量Path中加入 %ANT_HOME%/bin; 检验是否配置成功 打开cmd控制台输入ant.bat,如图所示即可。
使用Ant工具
1、在cmd控制台输入ant.bat即可如果没有指定任何参数系统会在当前目录下搜索build.xml文件找到了就以该文件作为生成文件并执行默认的target(生成文件和target先看下文)。 2、如果ant -s或者ant -find,Ant就会到上级目录中搜索生成文件直到搜索到文件系统的根路径。 3、如果要使用其他生成文件ant -buildfile生成文件或者ant -f生成文件或者ant -file生成文件 4、如果希望Ant运行时只输出少量信息可以使用ant -quiel或者ant -q 5、如果希望Ant运行时输出更多的提示信息可以使用ant -verbose或者ant -v 6、如果将运行时提示信息输出到指定文件可以使用ant -l或者ant -logfile 7、Ant允许运行时指定一些属性来覆盖生成文件中中指定的属性值。ant -Dvalue这个值代替property属性的值。 8、默认情况下Ant将运行生成文件中指定的默认target,要使用希望的target,可以使用 ant [target [target1 [target2] …] ] 9、了解更多用法ant -help
定义生成文件
先别急这里只讲述怎么定义生成文件记住了再想别的。 使用Ant最关键就是编写生成文件生成文件定义了该项目的各个生成任务每一个target表示一个生成任务每一个生成任务又包含一个或多个小任务并定义target之间的依赖关系。 Ant生成文件的默认名是build.xml生成文件可以放在项目中任何一个位置。 一个典型的项目层次结构 1、src :存放源文件和各种配置文件 2、classes :存放编译后的class文件 3、lib :存放第三方jar包的文件夹 4、dist :存放项目打包项目发布的文件 5、build.xml:Ant生成文件 接下来看看生成文件 Ant生成文件根元素**project…/**,每个项目下定义多个生成目标每个生成目标以一个target…/元素定义。 project元素有多个属性 default :指定默认的target这个属性是必须的。 basedir :指定项目的基准路径生成文件中的其他路径都是基于该路径的。 name :指定项目名。 description :指定项目的描述信息 例如
?xml version1.0 encodingGBK ?
!-- 指定基准路径为当前路径默认target为空--
project namelalala descriptionheihei basrdir. target
...
/project每个生成目标对应一个**target…/ ** target元素有多个属性 name:指定target名称该属性必须。当希望Ant运行指定的生成目标时就是根据该name确定的同一个生成文件中不能有同名的targer元素。 depends:该属性可指定一个或多个target名表示运行target之前先运行depends属性所指定的一个或多个target。 if指定一个属性名表示仅当设置了该属性名时才执行此target。属性是可以定义的接着看 unless :该属性指定一个属性名表示仅当没有设置该属性名才执行此target。 description :该target的描述信息。
!-- 表示运行之前必须先执行名为zzz的target--
target nameaaa dependszzz/
!--只有此target设置了reyixie属性才会执行此target--
target namebbb ifreyixie /
!--只有此target没有设置suibianxie属性才会执行此target--
target nameccc unlesssuibianxie/每个生成目标又可能由一个或多个任务序列组成当执行某个生成目标时实际上就是依次完成该目标所包含的全部任务。 定义任务的代码格式 name attribute1“value1” attribute“value2” … / 如:
!--删除classes属性所代表的文件夹 $符号是获取括号里的属性的值 --
delete dir$(classes) /project元素还有两个重要的子元素
1、property…/
用于定义一个或多个属性。Ant生成文件中的属性值不可改变。 定义一个属性
property namesuibianxie valuehaidilao/获取属性的值则使用${属性名} 如
${suibianxie}要把$当成普通字符应该写成 $$。 property元素还有以下几个属性 name:指定需要设置的属性名 value:指定需要设置的属性值 resource:指定属性文件的资源名称Ant将从属性文件中读出属性名和属性值。 file:指定属性文件的文件名Ant将从属性文件中读取属性名和属性值 url:指定属性文件的url地址Ant将从属性文件中读出属性名和属性值 environment用于指定系统环境变量的前缀通过这种方式允许Ant访问系统环境变量 classpath:指定搜索属性文件的classpath classpathref:指定搜索属性文件的classpath引用该属性并不是直接给出classpath值而是引用path…/元素定义的文件和路径集。后面再说
!-- 指定读取woshi属性文件中的属性名和属性值--
property filewoshi/属性文件由一系列的namevalue组成
authorfsgrwgwrb
bookfsdfvwgwg
price2154让Ant生成文件访问操作系统的环境变量的值
!--首先定义访问操作系统环境变量的前缀是env--
property environmentenv/
!--输出JAVA_HOME的环境变量--
echo${env.JAVA_HOME} /echo 可以看到输出[echo]C:\Java\jdk-9这就是本电脑上JAVA_HOME环境变量的值。
2、path…/
使用Ant编译运行Java时常常需要引用第三方的JAR包这就需要使用classpath…/元素了。 path…/和用于定义一个或多个文件和路径集。 区别 classpath元素通常作为其他任务的子元素既可以引用已有的文件和路径集也可以临时定义一个文件和路径集。 path作为project子元素用于定义一个独立的、有名称的文件和路径集用于被引用 这两个元素都可以接收如下子元素 dirset…/:采用模式字符串的方式指定系列目录 如果需要指定多个路径集使用此元素。dirset元素有个dir属性指定该路径集的根路径。 dirset还可以使用include…/和exclude…/指定包含和不包含哪些目录 例如以下代码段
!-- 指定该路径集的根路径是build目录--
dirset dirbuild
!--指定包含apps目录下所有的classes目录--
include nameapps/**/classes/
!--指定排除目录名中含有test的目录--
exclude nameapps/**/*test*/? 匹配任何单字符 * 匹配0或者任意数量的字符 ** 匹配0或者更多的目录
如果希望配置多个文件采用 fileset…/:采用字符串的方式指定系列文件 filelist…/:直接列出系列文件名的方式指定系列文件 filelist元素需要指定如下两个属性 dir:指定文件集里多个文件所在的基准路径必须属性 files:多个文件名列表 例如下列配置片段
!-- 配置src/abc.xml和src/bnm.xml文件组成的文件集--
filelist idun dirsrc filesabc.xml,bnm.xml/id为该元素指定唯一标识 此外还有refid,用于指定引用另外一个元素
filelist refidun
!-- 此文件集与上面的un文件集包含的文件完全一样--除了使用files属性还可以使用file…/子元素指定文件列表
filelist idun dir${doc}
file nameabc.xml/
file namebnm.xml
/filelistfileset元素可以指定如下两个属性 dir:文件集里多个文件的基准路径必须 casesensitive:指定是否区分大小写默认区分 也可以使用include…/和exclude…/两个子元素 **pathelement…/**指定一个或者多个目录 可以用下面属性中的一个 path:指定一个或多个目录(或者jar文件) location:指定一个目录或jar文件
Ant的任务
一个target元素包含多个task,Ant任务可以分为如下三类 核心任务核心任务是Ant自带的任务。 可选任务来自第三方的任务需要附加一个jar文件 自定义任务自己开发的任务 常见的核心task: javac:用于编译一个或多个java源文件srcdir属性是源文件的位置destdir属性是编译后class文件的位置。 java:用于运行某个java类classname属性指定运行哪个类。 jar:生成jar包destfile属性指定所创建jar包的文件名通常还应指定一个文件集将哪些文件打包。 sql用于执行一条或多条sql语句。属性有driver,url,userid,password。 echo:输出某个字符串 exec:执行操作系统的特定命令 copy:用于复制文件或路径 delete:删除文件或路径 mkdir:创建文件夹 move:用于移动文件或路径
ant target名 可执行对应target.
用Ant编译tomcat源码 玩转tomcat核心思想