实战 Groovy: Groovy:Java 程序员的 DSL
2009-09-28 00:00:00 来源:WEB开发网清单 3. 尝试在 CLASSPATH 中没有 Groovy JAR 的情况下运行经过编译的 Groovy 类
$ java HelloGroovyWorld
Exception in thread "main" java.lang.NoClassDefFoundError: groovy/lang/Script
如前述,Groovy JAR 必须包含在 CLASSPATH 中。再次尝试执行代码,这一次把 -classpath 实参传递到 java 中,如清单 4 所示:
清单 4. 用 java 命令成功运行经过编译的 Groovy 类
//For UNIX, Linux, and Mac OS X
$ java -classpath $GROOVY_HOME/embeddable/groovy-all-x.y.z.jar:. HelloGroovyWorld
Hello Groovy World
//For Windows
$ java -classpath %GROOVY_HOME%/embeddable/groovy-all-x.y.z.jar;. HelloGroovyWorld
Hello Groovy World
现在您已经取得了一些进展。但是为了证明 Groovy 脚本真正地保留 Java 示例的语义,您需要深入钻研字节码。首先,输入 javap HelloJavaWorld,如清单 5 所示:
清单 5. 解释 Java 字节码
$ javap HelloJavaWorld
Compiled from "HelloJavaWorld.java"
public class HelloJavaWorld extends java.lang.Object{
public HelloJavaWorld();
public static void main(java.lang.String[]);
}
除了为您添加了 javac 编译器之外,这段代码中不应当有过多令人惊讶之处。您无需显式输入 extends java.lang.Object 或提供类的默认构造函数。
现在,输入 javap HelloGroovyWorld,如清单 6 所示:
清单 6. 解释 Groovy 字节码
$ javap HelloGroovyWorld
Compiled from "HelloGroovyWorld.groovy"
public class HelloGroovyWorld extends groovy.lang.Script{
...
public static void main(java.lang.String[]);
...
}
- ››Groovy轻松入门
- ››实战:企业使用交换机VLAN路由配置
- ››实战案例分析:高质量软文对网站百度排名的影响
- ››实战经验浅谈网站搬家后的优化工作
- ››实战Active Directory站点部署与管理,Active Dir...
- ››实战操作主机角色转移,Active Directory系列之十...
- ››实战经验:巧用微博推广淘宝网店
- ››实战iPhone GPS定位系统
- ››实战Linux环境配置DBD:Oracle模块
- ››实战DeviceIoControl系列之一:通过API访问设备驱...
- ››实战DeviceIoControl系列之二:获取软盘/硬盘/光盘...
- ››实战DeviceIoControl系列之三:制作磁盘镜像文件
更多精彩
赞助商链接