我正在尝试使用 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>错误:无法找到或加载主类cle47d1d78d99a44a8ba01f0bc7612ad16
(使用uuid生成的类名)。但是当我在 bash 中执行它时,它会给出正确的输出。我检查了文件名、密码并确保 .class 文件存在于 groovy 尝试执行命令的文件夹中。
我能够运行其他命令并使用以下命令成功编译 .java 文件:
def proc = "javac ${file.path}".execute()
请提出建议。
最佳答案
${fileName} 的值是多少。我认为它包含像 "ABC.java"这样的值。您必须使用命令“java ${className}”。
Use:
java ${className}
ex:
If com.abc.ABC is the class containing the main function
java com.abc.ABC
包也是必需的
关于java - 使用groovy代码执行Java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32582655/