JAVA與groovy指令碼的結合使用
java執行groovy shell指令碼
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.0-beta-1</version>
</dependency>
新增groovy jar包支援
====================================================
package groovy; import groovy.lang.Binding; import groovy.lang.GroovyShell; public class Java2GroovyShell { public static void main(String[] args) { // TODO Auto-generated method stub Binding binding = new Binding(); binding.setVariable("var", 5); GroovyShell gs = new GroovyShell(binding); Object value = gs.evaluate("println 'Hello Groovy !';abc=123;return var*10");//執行groovyshell指令碼 System.out.println(value.equals(50)); System.out.println(binding.getVariable("abc").equals(123)); } } |
++++++++++++++++++++++++++++++++++++++++++++++++++++JAVA中動態執行groovy指令碼
通過JAVA來載入如一個groovy指令碼檔案,然後呼叫該指令碼中的方法
package groovy; import groovy.lang.GroovyClassLoader; import groovy.lang.GroovyObject; import java.io.File; public class Java2GroovyDynamic { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub ClassLoader parent = ClassLoader.getSystemClassLoader(); GroovyClassLoader loader = new GroovyClassLoader(parent); Class groovyClass = loader.parseClass(new File("C:\\normandy_workspace\\groovy\\src\\groovy\\GroovyDemo.groovy")); GroovyObject groovyObject = (GroovyObject)groovyClass.newInstance(); Object[] param = {123,321}; int res = (int) groovyObject.invokeMethod("add", param); System.out.println("res="+res); } } |
groovy指令碼
package groovy class GroovyDemo { static int add(int x,int y) { return x+y; } static main(args) { int z = add(123,321); println("x+y="+z); } } |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Groovy指令碼引擎
通過設定CLASSPATH來初始化groovy指令碼引擎,可以執行該path下的任何groovy指令碼檔案了
package groovy; import groovy.lang.Binding; import groovy.util.GroovyScriptEngine; public class Java2GroovyEngine { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub String path = "C:\\normandy_workspace\\groovy\\src\\groovy\\"; GroovyScriptEngine gse = new GroovyScriptEngine(path); Binding binding = new Binding(); binding.setVariable("input", "Groovy"); gse.run("Test.groovy", binding); System.out.println(binding.getVariable("output")); } } |
groovy指令碼
package groovy; output = "Hello ${input}"; |
相關文章
- java中呼叫groovy指令碼Java指令碼
- groovy之動態指令碼的使用指令碼
- Java執行groovy指令碼的兩種方式Java指令碼
- [Groovy]Groovy指令碼的5種執行方式指令碼
- Java動態指令碼Groovy,高階啊!Java指令碼
- Groovy探索之Gpath和List的結合 更加Groovy風格的程式碼
- nGrinder中快速編寫groovy指令碼01-指令碼結構指令碼
- Java動態指令碼Groovy讀取配置檔案Java指令碼
- Groovy 2與Java的效能對比Java
- 基於Groovy的規則指令碼引擎實戰指令碼
- IDEA 利用groovy指令碼生成註釋Idea指令碼
- Groovy探索 使用集合方法,寫出更加Groovy風格的程式碼
- Java 繼承與多型:程式碼重用與靈活性的巧妙結合Java繼承多型
- 跟我學XSL(8)指令碼與XSL的結合及應用(轉)指令碼
- nmap指令碼使用總結指令碼
- jenkins2 -pipeline 常用groovy指令碼Jenkins指令碼
- 用Groovy思考第一章用Groovy簡化Java程式碼Java
- 複雜多變場景下的Groovy指令碼引擎實戰指令碼
- 如何將Spring Session與JDBC結合使用? | Java Development JournalSpringSessionJDBCJavadev
- 大模型API與前端的結合使用大模型API前端
- Shell指令碼介紹與使用指令碼
- rem與em的區別||結合使用rem與emREM
- Parcel 與React 結合使用的小練手React
- shell指令碼呼叫java jar包 的問題總結指令碼JavaJAR
- Uboot連結指令碼與啟動流程boot指令碼
- java 指令碼Java指令碼
- Java和groovy相互呼叫Java
- [譯]無指令碼的指令碼:比特幣如何支援沒有智慧合約的智慧合約指令碼比特幣
- Java結合中的HashSetJava
- 在Java中呼叫Groovy方法的又一種方法:使用介面Java
- flex與bison的結合使用(計算器例子)Flex
- Vuex與Busemit結合使用淺談Vuex使用方式VueMIT
- 使用sqlplus批量執行指令碼的總結SQL指令碼
- groovy與javah互相呼叫Java
- 詳解Java鎖的升級與對比(1)——鎖的分類與細節(結合部分原始碼)Java原始碼
- nGrinder中快速編寫groovy指令碼04-傳送POST請求指令碼
- JWS與Nginx的結合Nginx
- Linux網路命令與指令碼使用Linux指令碼