Scala和Java为静态语言,Groovy为动态语言

Scala: 函数式编程,同时支持面向对象

Groovy: jvm上的脚本,较好兼容java语法,Groovy加强了Java集成。

可配置化的优势,可以将一些简单的逻辑公开给外部编辑和使用,增强了互操作性,复杂逻辑来说,可配置化代码的调试则会比较麻烦

Scala和Java互相调用 

Scala调用java

定义java类,直接调用方法,或者直接import,再调用即可。

Java调用Scala

静态方法直接传递参数调用即可,非静态方法,new对象再调用方法

Groovy和Java互相调用

Groovy调用Java

groovy 调用 Java class ,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该 Java 类,可方便接入java sdk

Import Java library groovy

this.class.classLoader.rootLoader.addURL(new URL("file:///${currentDir}/lib/commons-net-3.3.jar")

User gradle

jar.archiveName 'warO.jar'

jar.manifest {

attributes 'Main-Class' : 'net.codetojoy.waro.Main'

attributes 'Class-Path' : 'jars/groovy-all-1.6.4.jar jars/guava-collections-r03.jar jars/guava-base-r03.jar'

}

#!/usr/bin/env groovy -cp ojdbc5.jar

Java 调用 Groovy

通过JAVA来加载如一个groovy脚本文件,然后调用该脚本中的方法

GroovyClassLoader invokeMethod

loader.parseClass(new File)

或者

通过设定CLASSPATH来初始化groovy脚本引擎,可以运行该path下的任何groovy脚本文件了

05-11 20:14