`

脚本语言可以做什么? 再说说 Ant、Maven和Gant

阅读更多

本人也稍微用了一些脚本语言了,可是在同事的反馈给我的印象中,脚本语言似乎从未得到正名,似乎总是寒酸和小打小闹的代名词。我在做一个门户网站,身边有一些公司和某一些开发人员,总是对于页面上的技能很轻视,殊不知用户体验(也许我专指UCD)恰恰是对用户影响最大的部分,对Portal来说,更胜于功能。同样,脚本语言亦扮演着看似无足轻重,但实际非常重要的作用。

脚本语言可以做什么?适合做什么?能想到的,似乎总是敏捷、快速、轻量的东西,说得冠冕堂皇一点,就是能把人从繁重的重复劳动中解脱出来;还有,就是很适合运行在客户端,做一些简单的解析和对用户体验的协助,这不也是因为它敏捷、快速和轻量吗?

 

今天我不说浏览器端的JavaScript、VBScript,不说操作系统的bat、shell,就说说Ant、Maven和Gant。

Ant是我用得最多的,任何的语言在编写的时候都要讲究条理、层次和逻辑,ant作为诞生比较早的脚本语言,也是如此。其实严格说,ant只不过是定义的一系列标签而已,非常简单的语法,把一个个标签嵌套起来,串起来使用即可。后来能够接触到一些动态语言,perl、ruby等,这些语法就比ant要轻快得多了。

Ant经常使用的功能:拷贝粘贴这一类的不说了,还有:打包(jar/war/tar/zip)、compile、concact、Sql(这个东西不太好用,经常用ant调用sqlPlus代替)、JavaDoc、LoadProperties、FTP、SSH、JUnit。

我经常使用的Ant扩展插件,包括SVN插件、XML插件、Contrib插件(主要是逻辑能力,包括if、for等等这种Ant默认不支持的能力)。

在管理项目的时候,经常需要使用Ant来编写脚本,便于完成打包、校验、上库、部署、更新、测试等等工作,自动化脚本的成熟程度,也一定程度上标志着项目的成熟程度。

Maven我接触得不多,Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。所以,严格说来,Maven早就超越了脚本语言的概念,是一个真正适用于工程和项目管理级别的工具。

http://maven.apache.org/

借用官网上的例子,可见上手也是非常简单的:



  

这里有一个Maven和Ant之间的对比:



  

其中提到了一点,Ant的构建规则通常是静态的,除非用Script Ant来做,我觉得使用Contrib插件也可以做到,只是不知道这个插件是如何实现的。

给一个Script Ant的例子:

<project name="helloWorld" default="main" basedir=".">
  <target name="setup">
    <script language="javascript">
      <![CDATA[
        echo = helloWorld.createTask("echo");
        main.addTask(echo);
        echo.setMessage("Hello World!");
      ]]>
    </script>
  </target>
  <target name="main" depends="setup">
  </target>
</project>

  

参见:http://www.sitepen.com/blog/2001/09/25/javascript-and-ant/,后续我会把这篇翻译出来。

说到现在Ant和Maven还是没有脱离XML的约束,Gant就不同了。Gant是一个基于Ant的构建工具,它采用Groovy脚本代替XML来编写构建逻辑。Gant完全依赖于Ant task来做真正的事情,所以如果用Ant实现构建,但不喜欢用XML构建文件,Gant是一个不错的选择。

这里有一个简易教程:http://blog.csdn.net/yangvlive/archive/2008/08/31/2854325.aspx

官网:http://gant.codehaus.org/

可以看到Gant就是写groovy脚本,之前研究过好一段时间的GoG,这里了解一下即可,就不展开了。

  • 大小: 38.2 KB
  • 大小: 23.7 KB
分享到:
评论

相关推荐

    english_Manning.Groovy.in.Action-p694.rar

    4. **Gant和Grails**: Gant是一个基于Groovy的构建工具,它为Ant任务提供了一种更简洁的脚本方式。Grails则是一个基于Spring、Hibernate和Groovy的Web应用框架,它简化了开发流程,提供了强大的生成器和DSL,使得...

    groovy 1.8.6

    9. **Gant**:Gant是构建自动化工具,使用Groovy脚本替代Ant的XML配置,使得构建过程更易读、易写。 通过`groovy-all-1.8.6.jar`,开发者可以将Groovy集成到Java项目中,只需一个依赖就能使用所有的Groovy库。然而...

    Grails 中文参考手册

    - **Ant和Maven**:Grails与这些主流构建工具的集成。 4. **对象关系映射(GORM)**: - **GORM快速指南**:讲解了基本的CRUD操作,即创建、读取、更新和删除数据。 - **领域建模**:GORM提供了强大的领域模型支持...

    grails中文入门简介

    Grails还支持Ant和Maven,这意味着可以利用这两种构建工具的生态来管理Grails项目。 对象关系映射(GORM)是Grails框架中的一个重要组成部分,它为Groovy语言提供了对象持久化的支持。GORM支持基本的CRUD操作,并且...

    groovy-binary

    Groovy与Java语言高度兼容,可以无缝集成到Java项目中,同时也支持面向对象编程、函数式编程以及脚本编写等多种编程范式。 在"groovy-binary"这个压缩包中,包含的是Groovy的二进制发行版,这种版本通常包含了...

    grails-reference-documentation-1.1.x.pdf

    为了更好地与其他Java项目集成,Grails支持与Ant和Maven等构建工具进行集成。这种集成使得Grails应用程序能够无缝地融入到现有的项目管理流程中。 #### 五、对象关系映射(GORM) ##### 5.1 快速入门指南 GORM是...

    The Grails Framework - Reference Documentation

    ##### 4.5 Ant和Maven集成 - **Ant集成**:使用Ant任务增强Grails构建过程。 - **Maven集成**:利用Maven的强大功能。 #### 五、对象关系映射(GORM) ##### 5.1 快速入门 - **基本CRUD操作**:增删改查操作简单...

    grails 中文第二版

    - 支持Ant和Maven构建工具,便于集成其他工具。 #### 五、对象关系映射(GORM) **快速入门指南** - GORM是Grails的核心特性之一,用于处理对象与数据库之间的映射。 - 支持基本的CRUD操作。 **领域(Domain)...

Global site tag (gtag.js) - Google Analytics