我正在编写在Red Hat Enterprise Linux 5服务器上运行的Java Swing应用程序,我想启动jEdit来查看日志文件。

这是一些示例代码。

public static void main(String[] args) throws IOException, InterruptedException {

    String cmd = "sh -c \"java -jar /tmp/jEdit/jedit.jar /tmp/test.txt\"";

    System.out.println(cmd);

    Runtime.getRuntime().exec(cmd);

}


输出为:

sh -c“ java -jar /tmp/jEdit/jedit.jar /tmp/test.txt”

如果我将cmd输出复制并粘贴到终端窗口中,则可以正常运行。

我尝试了一堆cmd值,但是我永远无法使jEdit窗口可见。

进行更改后,此过程可以在Windows上正常运行。

我在Linux上可以做什么?

提前致谢!

最佳答案

由于jEdit是用Java实现的,因此也许可能更容易检查源代码中的main方法(在jedit.jar中包含的清单文件中声明的类中)做什么,而无需使用Runtime.getRuntime().exec()完全没有

如果确实要坚持下去,可以尝试将单个命令作为数组传递给exec(),这通常为我解决了此类问题。

10-04 15:14