`

ant学习(三)--ant 特性

    博客分类:
  • ant
阅读更多
 ant的内建特性
 
ant有一些内建的特性如:
ant.file-->构建文件如build.xml文件所在的路径
ant.home->ant的根路径
ant.java.version->java版本
ant.project.name->当前project的名字,在build.xml的开头指定
ant.version->ant版本
basedir->project的根路径,在build.xml的开头指定
	<!--ant的内建属性-->
	<target name="echo">
		<echo message="ant.file=${ant.file}"/>
		<echo message="ant.file=${ant.home}"/>
		<echo message="ant.file=${ant.java.version}"/>
		<echo message="ant.file=${ant.project.name}"/>
		<echo message="ant.file=${ant.version}"/>
		<echo message="ant.file=${basedir}"/>
	</target>
 
所有Jvm系统的特性都隐式的成为ant特性,并允许用户对一些重要信息诸如用户的主目录以及用户名称等进行修改。
如:
                <!--JVM系统属性-->
	<target name="userInfo">
		<echo message="user.name = ${user.name}"/>
		<echo message="user.home = ${user.home}"/>
		<echo message="java.home = ${java.home}"/>
	</target>
 
 
用户自己设置特性
 
最常用的自定义特性有几种:
1、name/value特性
   其格式为<property name="..." value="..."/>
   引用相对路径的特性最好使用location变量设置,如:
   <property name="builddir" location=${build.dir} />
2、从文件中载入特性集
   假设我们已经有一个文件名为build.properties
   <property file="build.properties"/>
3、载入环境变量
      另一个重要的property变量允许将环境变量作为特性。需要加入类似于下面这句话
<property environment="env" />
env表示环境变量的前缀,这个可以自己设置值。
     那么在引用环境变量的时候输入${env.Path} ${env.CLASSPATH},注意环境变量是大小写敏感的。
4、通过ant命令 ant -DXXX=XXX.
如运行ant -Durl=http://localhost:9515  就可以传给下面语句中的url。
<echo message="url=${url}"/>
5、从xml文件中载入特性。
     其格式为<xmlproperty file="web.xml"/>
    例如:
web.xml

<?xml version="1.0"?>
<person name="Jarvi">
  		<age>26</age>
</person>


build.xml

<target name="xmlimport">
<xmlproperty file="web.xml" collapseAttributes="true"/>
		<echo message="person.name,person=${person.name},${person.age}"/>
</target>


   
   也可以通过import的方法来输入xml文件,此时xml文件的内容就像宏定义一样被嵌入。被import的xml文件必须是一个构建文件,以构建文件的格式书写。
 
注意:特性值一旦设定,则无论在构建文件中还是在命令行里都不能修改它的值。最先设值者设值时就固定了它的值。
例如下面这段代码
   在文件build.properties中有这样一句话
   build.debug=off
   在构建文件中
   <property file="build.properties"/>
   <property name="build.debug" value="on"/>
   <echo message="build.debug = ${build.debug}" />
   其输出的结果是build.debug = off。
   这是因为特性build.debug首先在build.properties中设定了。
   我们也可以通过在命令行中首先输入一些特性来设定特性值,这样将会覆盖构建文件中所设定的特性值。
附:
build.xml里面内容:

<?xml version="1.0" encoding="GB2312" ?>
<project name="test" default="echo" basedir=".">
	
	<!--ant的内建属性-->
	<target name="echo">
		<echo message="ant.file=${ant.file}"/>
		<echo message="ant.file=${ant.home}"/>
		<echo message="ant.file=${ant.java.version}"/>
		<echo message="ant.file=${ant.project.name}"/>
		<echo message="ant.file=${ant.version}"/>
		<echo message="ant.file=${basedir}"/>
	</target>

	<!--JVM系统属性-->
	<target name="userInfo">
		<echo message="user.name = ${user.name}"/>
		<echo message="user.home = ${user.home}"/>
		<echo message="java.home = ${java.home}"/>
	</target>

	<!-- 用户自己设置属性方法 -->
	<target name="getProperty">
		<!--name/value属性-->
		<property name="build.dir"  value="/build"/>
		<echo message="build.dir = ${build.dir}"/>
	
		<!--通过属性文件载入-->
		<property file="build.properties"/>
		<echo message="language =${language}"/>
		
		<!--得到环境变量-->
		<property environment="env" />
		<echo message="env.Path=${env.Path}"/>

		<!--通过—Durl载入 -->
		<echo message="url=${url}"/>

		<!--通过xml文件载入-->
		<xmlproperty file="web.xml" collapseAttributes="true"/>
		<echo message="person.name,person=${person.name},${person.age}"/>
</project>



web.xml里面内容:

<?xml version="1.0"?>
<person name="Jarvi">
  		<age>26</age>
</person>


build.properties里面内容:

language=EN
 
分享到:
评论

相关推荐

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

    安全性:内置的安全特性,如OAuth2和Spring Security,确保您的应用程序安全无虞。 微服务支持:SpringBoot是微服务架构的理想选择,可以帮助您构建模块化、可扩展的应用程序。 社区支持:全球的开发者社区意味着您...

    ant-design-pro-ts:typescript版本ant desingn pro

    因为资源有限,本项目参考了Ant Design Pro的设计与项目组织结构。团队大部分人员多为后台人员,并无现代框架开发经验。 建议在开发之前快速浏览 ,学习基本的框架知识。 也可以快速浏览一下 的特性,看看与java有...

    ant学习资料大全。Ant是一种基于Java的Build工具。

    Ant是一种基于Java的Build工具。理论上来说,它有些类似于C中的make,但比make优越。现在存在的大多数Build工具,如make、gnumake、nmake、jam等都...与这些工具相比较,Ant的两个特性决定了它是一款优秀的Build工具:

    Ant权威指南

    讨论了Ant的主要特性提供乐观用Ant来管理工程的一些最佳实践;解释了某些Ant问题的解决方法。 本书是目前市面最经典中文Apache Ant书籍,是一本译著。作者当时针对 Ant 1.4.2 进行的编写。现在(2012-3-10) Ant ...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. 安装和运行Maven 2.1. 验证你的Java安装 2.2. 下载Maven 2.3. 安装Maven 2.3.1. 在Mac OSX上安装Maven 2.3.2. 在Microsoft Windows上安装...

    django-antd-tyadmin:类似的Xadmin的基于模型的快速生成前后台管理增删改查,筛选,搜索的后台管理自动化工具。Antd界面好看现代化!前分离!无损二次开发!由Django Restful Framework和Ant Design Pro V4驱动

    TyAdmin:Django基于模型的,无需代码零代码零学习成本管理后台前生成工具,由Django Restful Framework和Ant Design Pro V4驱动 :clapper_board:在线体验演示 账号:tyadmin密码:tyadmin 演示地址: : 没有代码...

    新版Android开发教程.rar

    o Apache Ant 1.6.5 or later for Linux and Mac, 1.7 or later for Windows o Not Not Not Not compatible with Gnu Compiler for Java (gcj) Note: Note: Note: Note: If JDK is already installed on your ...

    iuhyiuhkjh908u0980

    ant 学习很好得文档:ANT十五大最佳实践 http://www.oreilly.com.cn/news/ant15toppractices.php?c=javaTutorial:Hello World with Ant http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html ANT:解压,...

    基于SSM+MYSQL的居民电话登记系统源码+项目说明.zip

    2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于SSM+...

    《良葛格Java JDK 5.0学习笔记》.rar

    包含java特性、java学习方法、网络资源汇总、jdk下载和安装、path与CLASSPATH的设置、java基本语法、关于对象的认识、数组、字符串(String类))、Ant简介、JUnit简介。 作者:林信良(网络化名良葛格) 学历:台湾大学...

    Java/JavaEE 学习笔记

    Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容...ant学习笔记...................387 Web Service学习笔记.....388

    J2EE学习笔记(J2ee初学者必备手册)

    内容目录 .......................1 Java/JavaEE.....1 2008年11月1日...............1 Unix 学习笔记7 一、Unix前言............7 ...ant学习笔记...................387 Web Service学习笔记.....388

    Java语言基础下载

    Ant构建文件 659 配置Tiles框架 660 内容总结 661 独立实践 661 第三十三章:Struts标记库 662 学习目标 662 Struts标记库taglib介绍 663 Bean标记 663 逻辑标记 665 转发和重定向标记 668 HTML标记 669 显示错误...

    基于SSH2+Maven+EasyUI+MySQL技术实战开发易买网电子商务交易平台

    特点三、学习的过程中学员要理论和实践相结合,讲过的代码学员自行完成修改和调试,以巩固加深学习效果 2.4、课程亮点 亮点一、Structs2.x+Spring3.x+Hibernate4.x+ JEasyui1.3.4+Maven3 各框架jar包等采用的...

    android开发指南

    试试这个:为GoogleAPI活动增加设置特性 第十章(4) 128 第十一章 应用程序:找一个朋友 128 应用程序:找一个朋友 第十一章(1) 128 创建一个SQLite数据库 第十一章(2) 129 创建一个定制的Content Provider 第十一章...

    编写可维护的javascript(英文)

     《编写可维护的JavaScript》适合前端开发工程师、JavaScript程序员和学习JavaScript编程的读者阅读,也适合开发团队负责人、项目负责人阅读。运用本书中讲述的技巧和技术,可以使JavaScript团队编程从侠义的个人...

    编写可维护的JavaScript(中文)

     《编写可维护的JavaScript》适合前端开发工程师、JavaScript程序员和学习JavaScript编程的读者阅读,也适合开发团队负责人、项目负责人阅读。运用本书中讲述的技巧和技术,可以使JavaScript团队编程从侠义的个人...

    达内java培训目录

    企业应用开发部署环境 Linux高级命令集脚本编程、远程登录、Ant、单元测试技术、Maven构建技术、SVN应用技术。 熟练掌握基于Linux系统的操作技能;可以熟练的完成应用的部署工作;可以熟练的使用开发部署工具。 ...

    数学建模方法:蚁群算法

    随机摄动蚁群算法的收敛性及其数值特性分析 广义蚁群与粒子群结合算法在电力系统经济负荷分配中的应用 改进的蚁群算法及其在TSP中的应用研究 蚁群算法的全局收敛性研究及改进 房地产开发项目投资组合优化的改进蚁...

Global site tag (gtag.js) - Google Analytics