Scala和Java为静态语言,Groovy为动态语言java
Scala: 函数式编程,同时支持面向对象编程
Groovy: jvm上的脚本,较好兼容java语法,Groovy增强了Java集成。jvm
可配置化的优点,能够将一些简单的逻辑公开给外部编辑和使用,加强了互操做性,复杂逻辑来讲,可配置化代码的调试则会比较麻烦函数式编程
Scala和Java互相调用 函数
Scala调用javagradle
定义java类,直接调用方法,或者直接import,再调用便可。this
Java调用Scalaspa
静态方法直接传递参数调用便可,非静态方法,new对象再调用方法调试
Groovy和Java互相调用code
Groovy调用Java
groovy 调用 Java class ,只须要在类前导入该 Java 类,在 Groovy 代码中就能够无缝使用该 Java 类,可方便接入java sdk
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脚本文件了