[Groovy]Groovy with Ant Task
平时经常会用Ant来写一写脚本,但最近跨入到Groovy的时代,试着做一些改变。Groovy里集成了AntBuilder能非常方便的调用到Ant的对象模型。
现考察如下
1. Groovy里定义的属性如何能在Ant的Task里调用?
1 def testMsg = "hello world" 2 def ant = new AntBuilder() 3 ant.echo(message:"${testMsg}")
2. 如何在Groovy里访问Ant里定义的属性?
1 def ant = new AntBuilder() 2 ant.property(name:"p1",value:"v1") 3 ant.echo(message:'${p1}') // output: v1, 注意只是单引号,双引号在Groovy里有点特别 4 println ant.project.properties.p1 // output: v1
请注意Ant的Property是immutable(不可变的),所以在Groovy里修改一定定义过的Ant属性是不起作用的
1 def ant = new AntBuilder() 2 ant.property(name:"p1",value:"v1") 3 ant.echo(message:'${p1}') // output: v1, 注意只是单引号,双引号在Groovy里有点特别 4 ant.project.properties.p1 = "v2" // output: v1 5 ant.echo(message:'${p1}') // still output: v1
3. 用Groovy创建一个Ant的Property
1 def ant = new AntBuilder() 2 ant.project.setProperty('p1','v1') 3 ant.echo(message:'${p1}') // outoput: v1
以后可以考虑用Groovy来完成类似Ant所需实现的功能,应该会是十分方便。
转载于:https://www.cnblogs.com/buhaiqing/p/4543190.html
[Groovy]Groovy with Ant Task相关推荐
- Groovy~Groovy介绍
一.什么是Groovy Groovy的官方网站 Groovy是一种基于Java平台的面向对象语言 二.Groovy的特点 同时支持静态和动态类型 支持运算符重载 本地语法列表和关联数组 对正则表达式的 ...
- 【错误记录】Groovy工程中的文件查找策略 ( main 函数中需要使用 src/main/groovy/Script.groovy | Groovy 脚本直接使用代码相对路径 )
文章目录 一.报错信息 二.解决方案 一.报错信息 在 Java 类中 , 调用 Groovy 脚本 , 出现如下错误 ; java.io.FileNotFoundException: Y:\002_ ...
- [Groovy] Groovy API
http://www.soapui.org/about-soapui/soapui-faq.html#1-SoapUI--General-Questions 3.1.1. What is Groovy ...
- php groovy,Groovy
假设我有以下结构: Map> nestedMap = [ "x": ["a": 2, "b": 3, "c": 4 ...
- Groovy~Groovy的方法
一.Groovy方法介绍 Groovy中的方法是使用返回类型或使用def关键字定义的. 方法可以接收任意数量的参数 定义参数时,不必显式定义类型 可以添加修饰符,如public.private和pro ...
- Groovy~Groovy变量
定义变量时,可以使用groovy风格的def声明,不指定变量类型 定义变量时,可以使用java风格,执行变量类型 class FirstTest{static void main(String[] a ...
- org.apache.tools.ant.Task在哪个jar包
在apache的Commons launcher -----org.apache.tools.zip的ant.jar中
- Groovy~Groovy的List(列表)操作
一.列表方法 add():将新值附加到此列表的末尾 contains():如果此列表包含指定的值,则返回true get():返回此列表中指定位置的元素 isEmpty():如果此列表不包含元素,则返 ...
- Groovy~Groovy的Map操作
Map方法 containsKey():此映射是否包含此键 get():查找此Map中的键并返回相应的值,如果此映射中没有键的条目,则返回null keySet():获取此映射中的一组键 put(): ...
- Gradle用户指南之初学者教程(三)
写在前面的话: 博主最近在学习Android Studio相关的东西.Gradle相对于我这个从Eclipse转过来的Android开发者,也算是一个全新的事物.但它却承担着Android构建系统中相 ...
最新文章
- c语言n位水仙花数简书,Kotlin中函数式编程API(8)求阶乘和计算水仙花数
- erwin连接oracle数据库,erwin连接oracle9i数据库
- JZOJ 5926. 【NOIP2018模拟10.25】naive 的图
- python基础系列教程——python所有包库的下载
- android 底部去除list渐变,layer-list渐变色的处理
- Lc101对称二叉树
- c# 类似于QQ表情弹出框功能的二种实现方法
- SSH学习之二 OpenSSH配置文件解析
- java8新特性 lambda Stream map(函数式编程)
- python csv写文件,用Excel打开中文乱码解决
- python 实现Web版股票行情界面
- 卧槽,这也真的太上头了吧
- VMOS+小黄鸟无root抓包(解决抓包无网络问题)(附工具)
- 将切割后的小图片还原为大图片
- RPC框架原理与实现
- HBase数据库总结(一)
- 有赞商城如何对接ERP、CRM系统?
- viewpager左右循环滑动,自动滑动广告栏
- Python图片转换为PDF
- OAuth 统一登录 记录