如何在我的 Spring 引导应用程序中 运行 Groovy 脚本?
How to run a Groovy script in my Spring Boot Application?
所以我有一个现有的 spring 引导应用程序。我想添加一个 Groovy 脚本(比方说“HelloWorld.groovy”)来显示消息 hello world。我怎样才能做到这一点?
下面是我想要的样子:
// some random code here
// ...
// ...
// groovy script : "HelloWorld" to be executed
// some random code ...
有很多不同的方法可以做到这一点,问题中没有足够的信息来确定什么是最适合您的解决方案,但是一种方法是创建一个GroovyShell
并评估 shell 中的脚本。
import groovy.lang.GroovyShell;
public class GroovyDemo {
public static void main(String[] args) {
System.out.println("This represents some random code");
String groovyScript = "println 'first line of Groovy output'\n" +
"println 'second line of Groovy output'";
GroovyShell groovyShell = new GroovyShell();
// instead of passing a String you could pass a
// URI, a File, a Reader, etc... See GroovyShell javadocs
groovyShell.evaluate(groovyScript);
System.out.println("This represents some more random code");
}
}
输出:
This represents some random code
first line of Groovy output
second line of Groovy output
This represents some more random code
所以我有一个现有的 spring 引导应用程序。我想添加一个 Groovy 脚本(比方说“HelloWorld.groovy”)来显示消息 hello world。我怎样才能做到这一点? 下面是我想要的样子:
// some random code here
// ...
// ...
// groovy script : "HelloWorld" to be executed
// some random code ...
有很多不同的方法可以做到这一点,问题中没有足够的信息来确定什么是最适合您的解决方案,但是一种方法是创建一个GroovyShell
并评估 shell 中的脚本。
import groovy.lang.GroovyShell;
public class GroovyDemo {
public static void main(String[] args) {
System.out.println("This represents some random code");
String groovyScript = "println 'first line of Groovy output'\n" +
"println 'second line of Groovy output'";
GroovyShell groovyShell = new GroovyShell();
// instead of passing a String you could pass a
// URI, a File, a Reader, etc... See GroovyShell javadocs
groovyShell.evaluate(groovyScript);
System.out.println("This represents some more random code");
}
}
输出:
This represents some random code
first line of Groovy output
second line of Groovy output
This represents some more random code