使用groovy代码执行Java类

时间:2015-09-15 09:37:59

标签: java grails groovy

我正在尝试使用groovy脚本执行java .class文件:

    def sout = new StringBuffer(), serr = new StringBuffer()
    def proc = "java ${fileName}".execute()
    proc.consumeProcessOutput(sout, serr)
    proc.waitFor()
    println "out> $sout err> $serr"

它给出了错误:err> Error: Could not find or load main class cle47d1d78d99a44a8ba01f0bc7612ad16(使用uuid生成的类名)。但是当我在bash中执行它时,它会提供适当的输出。我检查了filename,pwd并确保.class文件存在于groovy尝试执行命令的文件夹中。

我能够运行其他命令并使用以下方法成功编译.java文件:

def proc = "javac ${file.path}".execute()

请建议。

1 个答案:

答案 0 :(得分:0)

$ {fileName}的价值是多少。我认为它包含的值像“ABC.java”。必须使用命令“java $ {className}”。

Use:

java ${className}

ex:
If com.abc.ABC is the class containing the main function
java com.abc.ABC 

包也是必要的