如何从Groovy运行Java应用程序?

Noe*_*Yap 3 java groovy

我有一个Java应用程序,可以执行以下操作:

public class MyApplication {
    public static int main(String[] args) {
      System.out.println(System.getProperty("my.property"));
    }
}
Run Code Online (Sandbox Code Playgroud)

我如何从Groovy中调用它,以便Groovy脚本设置System属性?

ata*_*lor 6

您可以使用-D命令行参数调用Java :

def output = "java -Dmy.property=foo MyApplication".execute().text
Run Code Online (Sandbox Code Playgroud)

或者,您可以在脚本中调用Java类,而无需启动新的Java进程:

System.properties['my.property'] = 'foo'
MyApplication.main([] as String[])
Run Code Online (Sandbox Code Playgroud)