打印整数时,groovy.lang.MissingMethodException

时间:2017-09-13 17:34:43

标签: groovy

static int exec(List<String> l) {
    l.add(0, isWin() ? "cmd.exe" : "sh")
    l.add(1, isWin() ? "/c" : "-c")                  // Adds a platform specific prefix
    ProcessBuilder pb = new ProcessBuilder(l)
    fine("Executing command: '" + l.join(" ") + "'") // Logging
    pb.inheritIO()
    Process p = pb.start()
    int i = p.waitFor()                              // Returns an integer
    println(i)                                       // The problematic line
    return i
}

原因

groovy.lang.MissingMethodException: No signature of method: soc.util.Build$__clinit__closure1.doCall() is applicable for argument types: ([B, java.lang.Integer, java.lang.Integer) values: [[48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...], ...]

但是如果我删除了println语句就行了。 用System.out.println(i)println(i as int)println((int) i)替换它。 将i设置为常量值也不起作用。

这是一个已知的错误,你可以绕过这个吗?

0 个答案:

没有答案