`

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
 
分享到:
评论

相关推荐

    apache-ant-1.6.5-bin

    尽管这个版本相对较旧,但它仍然展示了Ant的核心特性和使用方式,对于理解构建工具的工作原理和学习Ant的使用具有参考价值。在实际项目中,为了获取最新特性和支持,通常建议使用更新的Ant版本或考虑使用Maven、...

    ant-design-demos

    Ant Design是一款由阿里集团开发的高质量React UI库,它提供了一系列美观、易用且具有企业级特性的组件,如按钮、表单、表格、导航、模态框等,旨在提升前端开发效率,实现快速构建企业级Web应用。 描述中提到可以...

    ant-designer-vue离线文档1.+版本

    Ant Design Vue的核心特性包括: 1. **组件丰富**:Ant Design Vue 提供了包括按钮、表单、布局、表格、通知、图标等在内的各种常用组件,覆盖了日常开发中的大多数需求。 2. **响应式设计**:遵循Ant Design的...

    ant-design-pro-master

    这个项目主要用于学习和理解如何有效地构建专业级的Web应用,尤其是对于那些想要深入了解Ant Design和ES6特性的开发者来说,具有很高的参考价值。 Ant Design 是一个流行的React UI组件库,提供了丰富的界面元素和...

    基于 umijs + electron + ant-design-pro 的项目模板开发代码

    9. **性能优化**:探讨如何利用umi和Electron的特性进行性能优化,如代码分割、静态资源缓存、服务端渲染等。 10. **安全考虑**:理解Electron应用可能面临的安全问题,如防止恶意代码注入、处理文件系统访问权限等...

    apache-ant-1.9.9-bin.zip 【windows版,32位和64位通用】

    此外,Ant可以通过`&lt;taskdef&gt;`标签引入第三方的任务,从而扩展其功能,比如Maven的插件机制。 总之,Apache Ant是一个强大且灵活的构建工具,它的跨平台性、易于理解和定制的特性,使其成为Java开发中不可或缺的一...

    ant-design-vue-pro-master.zip

    总结来说,Ant Design Vue Pro Master是一个强大且完善的前端项目模板,其多页签功能依赖于Vue Router的高级特性。通过深入理解这些配置文件,开发者可以更好地掌控项目,并从中学习到前端开发的最佳实践。同时,它...

    ant-1.6-sources.jar.zip

    在Ant 1.6中,值得注意的是,它支持多种Java版本,并且引入了一些新的特性,如支持Ant脚本语言(Antlr),增强了文件集(fileset)和文件名集(filelist)的功能,以及改进了条件任务(condition)。此外,Ant 1.6还...

    av-table是居于ant-design-vue(版本3.2.20) 的 a-table组件封装的虚拟列表组件.zip

    av-table 封装了这个特性,它在用户滚动时动态地渲染和销毁表格行,显著提高了性能,使得即使在数据量极大的情况下,也能保持流畅的滚动体验。 av-table 的实现可能包括以下关键点: 1. **数据管理**:通过计算当前...

    ant-design-vue3.x的form表单爬坑.pdf

    5. 学习并理解新版本的官方文档,以便更好地理解和利用新特性。 总之,尽管Ant Design Vue 3.x引入了新的表单处理方式,但通过理解和适应这些变化,开发者可以充分利用其强大的表单管理能力,为用户创建更加高效、...

    基于 vue3 + ant-design-vue 的中后台管理系统.zip

    Vue3 是 Vue.js 的最新版本,提供了许多性能优化和新特性,而 Ant Design Vue 是一套基于 Vue2 和 Ant Design 设计规范的组件库,但在 Vue3 的支持下,它能够帮助开发者快速构建美观的用户界面。 **Vue3 知识点:**...

    基于 vue、ant-design-vue 的自定义Antdv 工作流组件

    首先,我们要理解Vue.js,它是一个轻量级的前端框架,以其易学易用、高效性能和组件化特性受到开发者喜爱。Vue.js提供了强大的模板语法,使得界面构建更加直观,同时它的虚拟DOM技术确保了高性能的用户体验。 Ant ...

    管理系统系列--vue+ant-design-vue创建后台管理系统模板.zip

    本项目的核心是利用Vue.js的组件化特性,结合ant-design-vue的预设样式和功能组件,搭建出一个具有登录注册、导航菜单、表格展示、表单处理、页面布局等常见后台管理功能的模板。Vue.js的响应式数据绑定和指令系统...

    基于vue+ant-design-vue创建后台管理系统模板.zip

    【Vue.js】 ...开发者和学习者可以从中学习到Vue.js的组件化开发、Ant Design Vue的UI设计、以及如何构建一套功能完善的后台管理系统。同时,源码的提供有助于深入研究和自定义项目,满足不同场景的需求。

    apache-ant-1.10.0-bin.zip

    Apache Ant 是一个广泛使用的Java构建工具,它基于XML来定义项目构建过程,使得开发者能够以声明式的方式描述项目的构建步骤。...通过学习和掌握Ant,开发者可以有效地自动化项目构建流程,提高开发效率。

    ant-design-pro前端

    此外,Ant Design Pro还引入了动态路由、权限控制、数据管理等高级特性,使得在构建复杂业务逻辑时更加得心应手。 在技术栈方面,Ant Design Pro主要基于React.js,一个由Facebook维护的JavaScript库,用于构建用户...

    前端项目-ant-design-pro.zip

    总的来说,"ant-design-pro.zip" 包含了一个使用React.js和Ant Design Pro构建的前端项目,涵盖了前端开发的多个方面,如UI设计、状态管理、模块打包和测试等,对前端开发者来说,这是一个深入了解和学习现代前端...

    ant-design-vue-jeecg-master.zip

    Ant Design Vue 是阿里团队推出的 Vue 版本的 Ant Design,它继承了 Ant Design 的设计哲学,同时利用 Vue.js 的特性,为开发者提供了丰富的组件库,涵盖了表单、布局、数据展示等多个方面,使得开发者能够快速构建...

    ANT-GA-PSO.rar_ant optimization_pso-ga_全局优化算法_改进蚁群算法_蚁群优化算法

    在实际应用中,ANT-GA-PSO已被广泛应用于网络路由优化、生产调度、旅行商问题、机器学习模型参数调优等多个领域。其优势在于既能利用ACO的信息素更新机制进行局部探索,又能借助PSO的全局飞行能力进行快速搜索,同时...

    apache-ant-1.7.1 完整jar包 含api

    Ant-1.7.1 版本中的一些重要特性包括: 1. **依赖管理**:Ant可以处理项目的依赖关系,确保构建顺序正确,只重新编译修改过的源文件,提高效率。 2. **文件操作任务**:如`copy`、`move`、`delete`等,方便对项目...

Global site tag (gtag.js) - Google Analytics