很简单的功能,工作中需要,因为不够懒,每次都运行ant的target
后来开发web写js/html越来越多,根本不用编译的,再不写这样的工具。用动态语言都很容易实现
分享下
class DeployWatchDogTask extends TimerTask { String srcDir String distDir List extList = ['.js', '.css', '.html', '.tpl', '.ftl'] def ant = new AntBuilder() public DeployWatchDogTask(String src, String dist){ this.srcDir = src this.distDir = dist } private void copy(String pathRelative){ String src = srcDir + pathRelative String dist = distDir + pathRelative ant.copy file: src, tofile: dist } private String getRelativePath(String str, pre){ return str.substring(pre.size()) } private boolean isExt(String name){ int pos = name.lastIndexOf('.') return pos >= 0 && name.substring(pos) in extList } public void run(){ def srcModifyTime = [:] def distModifyTime = [:] new File(srcDir).eachFileRecurse{ if(it.isFile() && isExt(it.name)) srcModifyTime[getRelativePath(it.absolutePath, srcDir)] = it.lastModified() } new File(distDir).eachFileRecurse{ if(it.isFile() && isExt(it.name)) distModifyTime[getRelativePath(it.absolutePath, distDir)] = it.lastModified() } srcModifyTime.each{k, v -> long l = distModifyTime[k] if(!l || l != v) copy(k) } } } def runTask = {src, dist, interval -> new Timer().schedule(new DeployWatchDogTask(src, dist), new Date(), interval); } String distPath = 'D:/ws/www' runTask(new File('../').absolutePath, new File(distPath).absolutePath, 1000 * 10)
相关推荐
groovy 创建xml,并生成xml文件的代码
通过这种方式,我们可以在微服务项目中充分利用Groovy的优势,同时避免了因直接使用.Groovy文件而导致的IDE兼容性问题。 总结来说,微服务项目中添加Groovy文件的关键在于正确配置IDE以支持Groovy,以及理解如何在...
### Eclipse 安装 ...在 Eclipse 中集成 Groovy 可以为开发者提供一个集成了编辑、调试和运行等功能于一体的开发环境,极大地提高了开发效率。希望本文能帮助您更好地理解和掌握 Groovy 在 Eclipse 中的应用技巧。
例如,我们可能会有一个MongoDB集合,其中每个文档包含一个字段存储Groovy脚本。Java代码会连接到MongoDB,找到这个文档,读取Groovy脚本,然后使用GroovyClassLoader进行加载和执行。 动态加载数据库中的Groovy...
总结起来,EditPlus 3.12 540版结合Groovy语法文件,为Groovy开发者提供了一个强大的编码环境。虽然SN信息未给出,但了解如何配置和使用这些语法文件,对于提升开发体验有着显著的帮助。无论是修改代码高亮的颜色,...
这段代码创建了一个`Sql`对象,它是Groovy提供的一个便利类,用于简化JDBC操作。 2. **插入数据**(Create): 要向数据库插入数据,我们可以使用`executeUpdate`方法。例如,向名为`users`的表中插入一条记录: ...
标题与描述均指向了一个关于如何使用Groovy语言实现领域特定语言(Domain-Specific Language, DSL)的文档。这表明文档将介绍Groovy在DSL设计与实现方面的特性和优势。 #### 标签解读 - **标签**: "groovy for dsl...
Groovy,作为一种动态语言,以其简洁的语法和强大的功能在Java虚拟机(JVM)上运行,为文件操作提供了一个非常灵活和强大的工具。本文将深入探讨如何使用Groovy脚本进行文件操作,包括文件的创建、读取、写入、删除...
在Java开发中,Groovy是一种强大的、动态类型的脚本语言,它可以无缝地与Java代码集成,为开发者提供了更简洁、灵活的语法。本文将深入探讨在Java项目中使用Groovy的三种主要方式,并阐述它们各自的优势和应用场景。...
Groovy是一种动态、灵活的编程语言,它是Java平台上的一个扩展,可以无缝集成到Java项目中。Groovy的语法简洁,支持面向对象编程、函数式编程,并提供了许多现代语言特性,如闭包和动态类型。这使得Groovy成为快速...
本篇文章将详细介绍如何搭建Grails开发环境以及如何创建一个简单的Grails应用程序。 ### 一、搭建Grails环境 在开始搭建Grails环境之前,我们首先需要确保已经安装了Java环境。因为Grails是基于Groovy的,而Groovy...
gstorm, 在groovy脚本中,一个用于数据库和CSV文件的简单 ORM GStorm - Groovy单个表 ORMGStorm是一个轻量级的持久性 helper,允许你在没有任何样板代码的情况下持久化数据。 它也可以充当CSV文件的和 ORM 。示例...
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以...
1. **groovy-all.jar**:这是一个包含了Groovy库所有模块的集合,你可以通过引入这个单一的jar文件来快速地在项目中使用Groovy。 2. **bin**目录:包含了一系列可执行脚本,如`groovy`, `groovyc`, 和 `groovysh`,...
1. **创建Groovy文件**:使用文本编辑器创建一个名为hello.groovy的文件,并输入以上代码。 2. **执行脚本**:打开命令行窗口,导航至包含hello.groovy文件的目录,然后输入`groovy hello`来运行脚本。 #### 四、...
然后,定义一个 Groovy bean,例如 helloWorldService,使用 script-source 属性指定 Groovy 脚本的位置,并使用 property 元素设置该脚本的属性值。 在 Spring 中,可以设置默认的延时刷新时间,以便在 Groovy ...
安装完成后,我们可以使用`groovysh`命令启动一个交互式的Groovy shell,或者通过`groovyConsole`启动Groovy脚本控制台,这为测试和调试Groovy代码提供了便利。此外,`groovy -version`命令可以验证Groovy是否正确...
Groovy SDK 4.0.3 是一个针对Groovy编程语言的软件开发工具包,它包含了Groovy语言的运行环境和开发所需的各种组件。Groovy是一种动态、灵活的面向对象编程语言,它与Java语法兼容,但提供了更简洁的语法和更强的...
Groovy是一种动态、开源的编程语言,它是Java平台上的一个JVM(Java Virtual Machine)语言。Groovy结合了Python、Ruby和Perl等脚本语言的简洁性和灵活性,并且完全兼容Java,可以无缝地与Java代码集成。在"groovy-...
Groovy All-2.4.8.jar 是一个包含Groovy库的集合包,主要用于简化Groovy环境的搭建和使用。这个版本(2.4.8)是Groovy在2.x系列中的一个稳定发行版,提供了一系列的功能和性能改进。 1. **Groovy简介** - Groovy是...