gpt4 book ai didi

java - 使用 Runtime.getRuntime().exec() 从 Java Swing 应用程序启动 jEdit

转载 作者:行者123 更新时间:2023-12-01 19:24:55 31 4
gpt4 key购买 nike

我正在编写一个在 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 中包含的 list 文件中声明的类中)执行相同的操作,而不使用 Runtime.getRuntime().exec()完全没有。

如果您确实想坚持使用它,您可以尝试将各个命令作为数组传递给 exec(),这通常为我解决了此类问题。

关于java - 使用 Runtime.getRuntime().exec() 从 Java Swing 应用程序启动 jEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1725134/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com