`

Ant起步

阅读更多

转载自:http://hi.baidu.com/yuanzhifeng/blog/item/c009e2dedece3e5794ee37f9.html

 

一:project元素

 

project元素是Ant构件文件中的根元素,Ant构件文件至少应该包行一个project元素。
在project元素中可以定义多个target元素。当运行Ant工具时,可以选择执行project 元素下的
一个或多个target。如果没有具体指定要执行的target,则ant会执行project元素中定义的默认
的target。
在ant工具中,一个project元素包含4个属性:name,description、default和basedir。但对于project元素来
说,这4个元素都不是必须的,可以根据项目的需要进行选择。
<description>属性是关于project和target 的简短描述和相关说明。通过想project和target添加描述,
使用户能够更好地了解这个project和target要执行的功能,这同时也是个好习惯。
例如:
<?xml version="1.0" encoding="GB2312"?>
<project name="simleproject" default="targetA" basedir="." >
<description>
   这是我的project例子
</description>
<target name="targetA" >
   <description>
    这是 targetA任务
   </description>
   <echo message="I am targetA" />
   <echo message="Can see me?" />
   <echo message="the basedir is${basedir}" />
   <echo message="the src property's value is ${os.name} ${src}" />
</target>
<target name="targetB" >
   <description>
    这是 targetB任务
   </description>
   <echo message="I am targetB" />
   <echo message="Can see me?" />
</target>
<property name="src" value="src" />
</project>

 


二 target元素
target元素是Ant工具的执行单元,每个target里包含一个或多个具体的操作(Ant工具的的任务)。
一个target可以依赖于其它的一个或多个target。例如,可能会有一个target用于编译程序,一个target用于
生成可执行文件(jar文件)。用户在生成可执行文件之前必须先执行编译通过,所以生成可执行文件的target
依赖于编译的target,在编译的target执行后才会执行。Ant提供了处理这种依赖关系的能力。target包含
name、depends、if、unless和description 5个基本属性。例如:

<?xml version="1.0" encoding='utf-8'?>
<project name="targetproject" default="D" >
<target name="A">
<echo message="I am A "/>
</target>
<target name="B" depends="A">
<echo message="I am B"/>
</target>
<target name="C" depends="B">
<echo message="I am C"/>
</target>
<target name="D" depends="C,B,A">
<echo message="I am D"/>
</target>
</project>


1,name属性
   name属性即target元素的名称。每个target元素必须要有一个name属性。而且在同一个project元素中每个target
的名称都是唯一的,且不能重复。当要执行具体的target时,就通过名称指定。


2.depends属性
   depends属性是可选属性,主要用于描述target间的依赖关系。depends中可以是一个或多个target元素名称,多个
target用","来分隔。同时,应当注意到Ant工具的depends属性指定了target元素间被执行的顺序关系。如果当前的
target元素无法运行,但这种depends关系对于这个target元素所依赖的其它target元素并没有影响。Ant会依照depends
属性中target出现的顺序(从左到右)依次执行每个target。有一点要记住的是,只要某个target元素依赖于一个target
元素,后者就会先被执行。例子如下:


3.if属性
   在target元素中if属性也是可选的。主要用于验证在执行target前所必须设定的属性。如果if指定的属性没有设定,那么
这个target就不会被执行。只有当这个属性值被设定时这个target才会被执行。例如:要验证系统是否安装了JDK,若
安装了JDK就输出JDK的版本信息。构件文件如下:
<?xml version="1.0" encoding='utf-8'?>
<project name="simpleproject" default="checkJavaVersion" >
<!-- -->
<property name="abc" value="abc property"/>

<target name="checkJavaVersion" if="ant.java.version" depends="checkPorperty,checkPorperty2">
   <echo message=" the java had been set,version is : ${ant.java.version}" />
</target>
<target name="checkPorperty" if="abc" >
<echo message=" the abc property had set detail is :${abc}" />
</target>
<target name="checkPorperty2" unless="abc" >
<echo message="if abc not set I will execute" />
</target>
</project>


4.unless属性
   在target元素中unless属性也是可选的。unless属性的功能与if属性的功能正好相反。也就是说,
如果unless属性中没有被设定,那么这个target就不会被执行。当这个属性值被设定时,这个target才不会被执行。
提示:if和unless这对功能正好相反的属性,只能限制target元素的任务是否被执行,当时它们并不能限制这个
target依赖的target的执行。也就是说,如果<target name="targetA" depends="targetB" if="propertyA">,
同时propertyA没有被设定,当执行targetA时,虽然targetA不会被执行,但是targetB会正常执行。

分享到:
评论

相关推荐

    ant+Spting实例小程序可运行

    5. **Spring Boot**:Spring Boot简化了Spring应用的初始设置和配置,通过默认配置和起步依赖,可以快速创建可生产的独立应用。 **结合使用Ant和Spring** 在Java项目中,Ant通常用于构建过程,而Spring则处理应用的...

    基于springboot,ant-design-vue-pro的简易后台管理系统.zip

    1. **快速起步**:通过`@SpringBootApplication`注解,SpringBoot会自动配置相关的bean,省去了大量XML配置。 2. **嵌入式Web服务器**:内建了Tomcat、Jetty等服务器,无需额外部署。 3. **starter依赖管理**:通过...

    配合 springboot-shiro 一起使用的demo,基于ant-design-pro的简易权限系统.zip

    1. SpringBoot:作为Spring框架的一种快速开发工具,它通过自动配置、起步依赖等特性简化了Spring应用的初始搭建和开发过程。SpringBoot的核心理念是“约定优于配置”,使得开发者可以快速地构建可运行的应用程序。 ...

    SpringBoot+ant-design-pro-vue前后端分离,权限管理系统.zip

    SpringBoot的核心在于简化Spring的初始搭建以及配置工作,通过自动配置和起步依赖,使得开发者能够专注于业务逻辑的实现,而不是环境的配置。在本项目中,SpringBoot作为后端服务框架,负责处理HTTP请求,提供...

    SpringBoot,Shiro,JWT,Vue & Ant Design 前后端分离权限管理系统

    通过自动配置和起步依赖,SpringBoot可以快速创建一个独立运行的Java应用。开发者无需过多关注配置,而是更专注于业务逻辑的实现。 Shiro是Apache组织的一个开源安全框架,提供身份认证、授权、会话管理和加密等...

    java调问表单问卷系统.rar

    Spring Boot的核心特性包括自动配置、起步依赖和运行时健康检查等,极大地提高了开发效率。在这个问卷系统中,Spring Boot被用作后端服务,处理HTTP请求,管理数据库连接,实现业务逻辑,如问卷的创建、查询、更新和...

    jboss5安装起步指南和管理员手册(英文)

    理解Maven或Ant构建工具的使用,以便管理项目依赖。 2. 部署应用:了解如何将应用打包成WAR或EAR文件,并通过管理控制台或命令行部署到JBoss服务器上。 3. 配置数据源:学习配置JNDI数据源以连接到数据库,如MySQL...

    基于Java开发的在线直播平台源码.zip

    "Ant-Live-master" 可能是项目的GitHub仓库名,"Ant"可能是指蚂蚁(寓意小巧而强大),"Live"与直播主题吻合,"master"通常代表主分支,即包含了项目的主要代码版本。 综上所述,这个压缩包提供的源代码涵盖了以下...

    Snowy-Cloud是小诺团队下基于SpringCloud Alibaba + SpringBoot+AntDes.zip

    通过自动配置和起步依赖,SpringBoot可以快速创建独立运行的应用程序,同时提供了内嵌的Tomcat服务器,使得部署更加简单。 Ant Design是蚂蚁金服开源的一套优秀的前端UI设计语言和React组件库,提供了丰富的UI组件...

    基于Spring Boot、Spring Cloud、Vue.js 、Element UI实现权限管理系统,JAVA快速开发平台

    Spring Boot的核心特性包括自动配置、起步依赖和命令行接口,这极大地提高了开发效率,使得Java开发人员能够专注于业务逻辑而不是环境配置。 其次,Spring Cloud是为了解决微服务架构中的服务发现、配置管理、负载...

    企业级低代码平台低代码开发平台

    SpringBoot简化了Spring应用的初始搭建以及开发过程,提供了自动配置、起步依赖和运行时的应用管理。通过SpringBoot,开发者可以快速启动和运行一个完整的Java应用,而无需关心繁琐的配置细节。 其次,SpringCloud...

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................

    2020年软工二大作业 酒店管理系统 springboot+mybatis+vue+antdv.zip

    其核心特性包括自动配置、内嵌Web服务器(如Tomcat)以及“起步依赖”(Starter POMs),使开发更加便捷。 2. **MyBatis**:MyBatis是一个持久层框架,它允许开发者编写SQL语句并与Java对象进行映射。在这个系统中...

    Maven完全手册

    maven2 起步 相信maven1 大家都已经很熟悉了,具体maven能做什么,就不详细说了。个人觉得maven在开源项目中用的还是比较多的,公司内部,就不太清楚了。我以前的公司用过一段时间,不过后来就没有下文了。 与...

    spring-boot-reference-1.5.3.pdf

    在使用Spring Boot的部分,文档介绍了构建系统,包括依赖管理,Maven和Gradle的使用,以及Ant的使用。此外,还详细介绍了如何组织你的代码,例如如何使用默认的包,如何定位主要的应用程序类,如何处理配置类等。 ...

    springboot2.3开发手册

    接着文档详细讲解了Spring Boot的使用,从构建系统的管理开始,包括了依赖管理、Maven、Gradle、Ant等构建工具的配置,以及Spring Boot Starters的使用。Starters是一组方便的依赖描述符,可以包含在项目的构建配置...

    SpringBoot Demo(非maven)

    此外,构建过程可能需要自定义脚本或工具,如Ant或Gradle的非标准配置。 **项目结构** 在SpringBoot项目中,标准的目录结构包括`src/main/java`存放源代码,`src/main/resources`存放资源文件,如配置文件。由于本...

    springboot351同城上门喂遛宠物系统--论文pf.zip

    10. **前端技术**:可能使用React、Vue.js或Angular等现代前端框架,配合Bootstrap或Ant Design等UI库构建用户界面。 综上所述,这个项目是一个全方位的Web应用开发案例,涵盖了后端开发、数据库管理、地理服务、...

Global site tag (gtag.js) - Google Analytics