[Groovy Script] (3) - Java에서 GroovyScript 컴파일 없이 실행하기
-----------------------------------------------------------------------------------------------
소스코드 : https://github.com/sowen2819/SosimhanBlogger
-----------------------------------------------------------------------------------------------
GroovyScript를 컴파일 없이 자바에서 불러 쓰기 위해 이것저것 해본 것들을 공유합니다!
ClassLoader parent = JavaFile.class.getClassLoader();GroovyClassLoader loader = new GroovyClassLoader(parent);Class groovyClass = loader.parseClass(new File("src/groovyscript/GroovyScript.groovy"));GroovyObject groovyObject = (GroovyObject) groovyClass.newInstance();Object[] args1 = {"소심한개발자"};String groovyResult = (String) groovyObject.invokeMethod("hiGroovy", args1);System.out.println(groovyResult);
이 글은 클래스로더 및 리플렉션에 대한 설명이 아니기때문에 간단하게 소개하겠습니다!
ClassLoader parent = JavaFile.class.getClassLoader(); //클래스로더 호출
GroovyClassLoader loader = new GroovyClassLoader(parent); // 그루비 클래스로더 호출
(GroovyClassLoader : groovy Doc )
Class groovyClass = loader.parseClass(new File("src/groovyscript/GroovyScript.groovy"));
//groovyscript패키지 아래 GroovyScript.groovy를 호출
GroovyObject groovyObject = (GroovyObject) groovyClass.newInstance(); //groovyClass 로딩
String groovyResult = (String) groovyObject.invokeMethod("hiGroovy", args1);
// GroovyObject의 invokeMethod 메소드를 통해 groovyScript의 hiGroovy메소드 호출
2) 일단은 성공! 과연 class파일이 없어도 실행이 될것인가....
Comments
Post a Comment