javaでgroovyスクリプトを呼び出す方法は何ですか?
JavaからGroovyスクリプトを呼び出す場合、Groovyのコンパイラとランタイム環境を使用する必要があります。
以下是一个简单的示例,展示了如何在Java中调用Groovy脚本:
- 最初に、プロジェクトにGroovyの依存関係が含まれていることを確認してください。MavenやGradleなどのビルドツールを使用してGroovyの依存関係を追加できます。
- “example.groovy”というGroovyスクリプトファイルを作成し、Groovyスクリプトの内容を書いてください。例:
def greet(name) {
"Hello, $name!"
}
- Javaのコードで、Groovyのコンパイラとランタイム環境を使用してGroovyスクリプトをロードや実行することができます。例えば:
import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyObject;
public class Main {
public static void main(String[] args) throws Exception {
// 创建GroovyClassLoader
GroovyClassLoader classLoader = new GroovyClassLoader();
// 加载Groovy脚本类
Class<?> groovyClass = classLoader.parseClass(new File("example.groovy"));
// 创建Groovy脚本对象
GroovyObject groovyObject = (GroovyObject) groovyClass.getDeclaredConstructor().newInstance();
// 调用Groovy脚本方法
String result = (String) groovyObject.invokeMethod("greet", "John");
// 输出结果
System.out.println(result);
}
}
この例では、GroovyClassLoaderを使用してGroovyスクリプトファイルをロードし解析しています。そして、リフレクションを使ってGroovyスクリプトクラスをインスタンス化し、その中のメソッドを呼び出しています。
プロジェクト構造やファイルパスに応じて、コード中のファイルパスを調整する必要があるかもしれません。
これは単なるサンプルです。必要に応じて複雑な操作も行うことができます。