在本文中将会涉及到:
使用 CliBuilder 来实现对命令行选项的支持,脚本执行时所需要的参数将通过命令行选项的方式传递。
使用 GroovyClassLoader 加载 Groovy class。
使用 AntBuilder 来构建 Jar 包。
开始之前
关于本文
也许您写了一些有趣或实用的 Groovy 脚本并希望与您的朋友分享,可是您并不想强 迫他们安装 Groovy,所以您也许想要做一个小工具让您的朋友们能够用它编译您的 Groovy 脚本并且生成一个可执行的 Jar 包。本文将介绍如何制作一个小工具让您的 Groovy 脚本能够在没有安装 Groovy 的环境下也能被即时编译和打包成为 可执行的 Jar,并通过此过程介绍 Groovy 的一些有趣的特性。
在本文中,我们将设计并实现一个命令行工具,并 通过它来完成对 Groovy 脚本的即时编译和打包。我们将使用 CliBuilder 来实现程序对命令行的处理;使用 AntBuilder 来处理打包的问题;使用 FileSystemCompiler 类来实现对 Groovy 脚本文件的编译。
目标
通过本示例了解 Groovy 中 CliBuilder 的使用方法,以及 AntBuilder 在 Groovy 中的应用。
先决条件
Eclipse IDE
Groovy plugin for Eclipse
Apache Ant Java library(您可以在这里找到下载地址 http://ant.apache.org/bindownload.cgi)
系统要求
由于 Eclipse IDE 和 Groovy 语言都是跨平台的,所以您可以在任何平台上编写本示例中的程序,并 将它运行在任何平台上。
利用 CliBuilder 设计命令行程序
用 Groovy 来编写脚本是开发跨平台工具的一个 不错的途径。随着脚本复杂程度的不断增长,您可能需要在您的脚本中处理命令行选项。而处理这些选项或参数并且根据情 况显示相应的帮助信息可能会是件麻烦事。 Groovy 捆绑了 Apache Commons CLI 库作为它的一部分,然而它同时也提供了 一个使用起来简单得多的 CliBuilder。那么,接下来我们看看该如何使用它。
为程序设置命令行选项
清单 1. 创建 CliBuilder 实例及定义命令行选项
// 创建 CliBuilder 实例,并定义命令行选项 def cmdline = new CliBuilder(usage: 'GroovyPackman -[chflms] [date] [prefix]') cmdline.h( longOpt: 'help', required: false, 'show usage information' ) cmdline.d( longOpt: 'destfile', argName: 'destfile', required: false, args: 1, 'jar destintation filename' ) cmdline.m( longOpt: 'mainclass', argName: 'mainclass', required: true, args: 1, 'fully qualified main class' ) cmdline.c( longOpt: 'groovyc', required: false, 'Run groovyc' ) cmdline.s( longOpt: 'sourcepath', argName: 'sourcepath', required: true, args: 1, 'fully path to the mainclass. Must be specified with .groovy file path when -c option used.')
在以上代码段 中,我们首先创建 CliBuilder 的实例。CliBuilder 拥有一个叫做 Usage 的属性,可以用它来显示程序的使用说明等信息 。在这里,它作为参数传递给构造函数将可以告诉程序的使用者有哪些选项可以使用。接着,我们使用名字为一个字母的方 法来定义命令行选项,longOpt 属性允许选项被指定为 -h 或 --help 均可。argName 属性用来指定在使用说明中显示的选 项的参数名。而 args 属性用来指定选项所需的参数个数。required 属性用来告诉命令行解析器当前选项是否是必须的。 函数中最后一个参数用来指定该选项的描述信息。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索编译
, 脚本
, 命令
, groovy
, required
, 命令行编译
, eclipse插件groovy
, 一个
, 命令行选项
eclipse打包jar
ios 编译打包脚本、groovy脚本、jenkins groovy脚本、java调用groovy脚本、soapui groovy 脚本,以便于您获取更多的相关知识。