我有一个问题, 我做了一个Java应用程序,下载另一个Java应用程序(Jar)并将其保存在appdata中,然后它应该运行它,并且这也起作用。 但我用来运行第二个Jar的Runtime.exec()只在我运行主Jar通过控制台时才起作用。Java:Runtime.exec()只能通过控制台工作
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);
当启动这个通过控制台,它的工作,但不是当我运行它作为独立的罐子。
你能给我一个提示,我如何可视化一种启动第二个罐子的方式而不需要控制台?
编辑:我也试过它与ProcessBuilder,同样的结果。 (工程在控制台上,而不是作为独立的)
你这是什么意思,“开始作为一个独立的罐子?' – bmargulies
在Windows中,您可以使用Java直接启动Jar,因此您不需要控制台。 (这是基于gui的) – IZED
你尝试过使用javaw启动器而不是java吗? (例如String command =“javaw -jar -Xms”[...]) – besen