groovy與javah互相呼叫

c3tc3tc3t發表於2014-03-12

暫時只找到這幾種方法。groovy程式碼方便靈活。常用來寫一些工具。一般都是java加入groovy程式碼

 

第一種 java中加入 groovy程式碼就是

Toy.groovy

class Toy{

  def p(arg) {
        
       arg.each{
     
        println it

       }    
  }  
}    

  

 

GroovyClassLoader gcl = new GroovyClassLoader();
    Class greetingClass = null;
try {

  greetingClass = gcl.parseClass(new File("Toy.groovy"));
} catch (IOException e) {
    e.printStackTrace();
}

GroovyObject hello = (GroovyObject) new Toy();
String[] a={"a","b","c"};
Object[] agr={a};
hello.invokeMethod("p",agr)	;

  

另一種就是將groovy的程式碼打包成jar ,和java打包類似 ,就可以當成java程式碼那樣打包,然後加到java 專案的classpath中這樣執行

GroovyObject hello  = (GroovyObject) new Toy();


String[] a={"a","b","c"};
Object[] agr={a};
hello.invokeMethod("p",agr)	;

  

 

groovy中引入java程式碼同上類似。就是將java程式碼打包後加入到 java 專案的classpath中 

 

例如 app2是一個javal類

public class App2 {
	public void p1() {
		System.out.println("hello world");
	}
}

  在groovy中引入

def te = new App2()
te.p1()

  注意使用groovy時把groovy的jar包引入java專案中

 

 

相關文章