0

我正在尝试使用 Runtime.exec 从我的 java 代码运行一个类文件,但无法在 Linux 上启动新进程,Windows 上也是如此。

我想要或通过单击按钮从 GUI(我从名为 Launch.jar 的 jar 文件运行)启动进程。

所以我使用了以下代码。

String curpath=System.getProperty("user.dir");
 Runtime.getRuntime().exec(new String[] { "/bin/bash", "-c", "java -classpath"+curpath+File.separator+" Launch.jar LaunchNewProcess" });
4

3 回答 3

1

我认为你需要在之后留一个空间-classpath

Runtime.getRuntime().exec(new String[] { "/bin/bash", "-c",
"java -classpath "+curpath+File.separator+" Launch.jar LaunchNewProcess" });

更新:试试这个:

Runtime.getRuntime().exec(new String[] { "/bin/bash", "-c",
"java -jar "+curpath+File.separator+"Launch.jar" });
于 2012-11-07T08:24:14.930 回答
1

在 -classpath 之后放置一个空格,并在“Launch.jar”上删除空格

 try{

     Runtime.getRuntime().exec(new String[] { "/bin/bash", "-c", "java -classpath "+curpath+File.separator+"Launch.jar LaunchNewProcess" });

}catch(Exception e){
   e.printStackTrace();
}
于 2012-11-07T08:24:31.747 回答
0

恕我直言,我建议您放弃使用 Runtime.exec 并开始使用ProcessBuilder

那里有很多示例/教程,这是一个

于 2012-11-07T08:28:21.677 回答