1

我需要编写一个java程序,执行时将命令推送到终端

我尝试使用 runtime.exec(); 但对我来说不能正常工作

我想要的是在终端中执行的“/home/raj/Desktop/java -jar test.jar”

谁能帮我整理一下。

4

3 回答 3

7

如果您想实际启动终端窗口(而不仅仅是执行 java 进程),您将需要启动 xterm(或类似的东西)并告诉 xterm 运行 java

String command= "/usr/bin/xterm -e /home/raj/Desktop/java -jar test.jar"; 
Runtime rt = Runtime.getRuntime();      
Process pr = rt.exec(command);
于 2012-05-07T12:07:42.703 回答
1

请参考以下示例。带​​有 java 程序的参数列表。

Process proc = null;
try {
    String cmd[] = {"gnome-terminal", "-x", "bash", "-c", "ls; echo '<enter>'; read" };


    proc = Runtime.getRuntime().exec(cmd, null, wd);
} catch (IOException e) {
    e.printStackTrace();
}
于 2012-05-07T12:06:46.210 回答
1

您可以使用 jar 文件的完整路径作为参数"java"

String command= "java -jar /home/raj/Desktop/test.jar"; 
Runtime rt = Runtime.getRuntime();      
Process pr = rt.exec(command);
于 2012-05-07T12:52:36.837 回答