java - 使用groovy代码执行Java类

标签 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>错误:无法找到或加载主类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/

相关文章:

java - 从事件对象打印所有时间间隔的好方法

Java:如何在一个 shell 中启动多个永久服务器?

java - JDBC 语句顺序

java - 在 Groovy 中备份文件夹

java - 在 Jenkins 的文件级别强制覆盖

java - RabbitMq,客户端突然关闭TCP连接

grails - Grails中的脚手架出现404错误

java - 网站布局

hibernate - 如何从Grails的数据库 View 创建域

macos - 为什么即使它在我的 PATH 上,Groovy 也找不到该程序?