Calling a Groovy function from Java

后端 未结 6 1702
猫巷女王i
猫巷女王i 2020-12-05 04:56

How do you call a function defined in a Groovy script file from Java?

Example groovy script:

def hello_world() {
   println \"Hello, world!\"
}
         


        
6条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-12-05 05:15

    The simplest way is to compile the script into a java class file and just call it directly. Example:

    // Script.groovy
    def hello_world() {
        println "Hello, World!"
    }
    
    // Main.java
    public class Main {
        public static void main(String[] args) {
            Script script = new Script();
            script.hello_world();
        }
    }
    
    $ groovyc Script.groovy
    $ javac -classpath .:$GROOVY_HOME/embeddable/groovy-all-1.7.5.jar Main.java
    $ java -classpath .:$GROOVY_HOME/embeddable/groovy-all-1.7.5.jar Main
    Hello, World!
    

提交回复
热议问题