【发布时间】:2012-10-01 22:13:00
【问题描述】:
我有一个问题, 我制作了一个 Java 应用程序,它下载了另一个 Java 应用程序(Jar)并将其保存在 appdata 中,然后它应该运行它,这也可以。 但是我用来运行第二个 Jar 的 Runtime.exec() 仅在我通过控制台运行主 Jar 时才有效。
String command = "java -jar -Xms" + comboBox.getSelectedItem() + " "
+ Util.getWorkingDirectory() + File.separator + "zlauncher"
+ File.separator + "minecraftStarter.jar " + txtUsername.getText() + " "
+ passwordField.getText() + " " + Util.toString(chckbxRemember.isSelected());
Runtime rt = Runtime.getRuntime();
rt.exec(command);
当通过控制台启动这个时,它可以工作,但当我作为独立 Jar 运行它时就不行。
你能给我一个提示,我如何在不需要控制台的情况下可视化启动第二个 Jar 的方式?
编辑:我也用 ProcessBuilder 尝试过,结果相同。 (在控制台中工作,但不能独立使用)
【问题讨论】:
-
“作为独立 jar 启动”是什么意思?
-
在 Windows 中,您可以直接使用 Java 启动 Jar,您不需要控制台。 (它基于 gui)
-
您是否尝试过使用 javaw 启动器而不是 java? (例如,字符串命令 = "javaw -jar -Xms" [...])
-
这一次(使用 javaw 代替)它向我显示了一个错误:“无法创建 Java 虚拟机”作为消息框。 (没有特殊的错误代码,只有这条消息)
标签: java jar console runtime.exec