从Java代码执行Jar

从Java代码执行Jar,java,jar,Java,Jar,我有一段应该运行一个可执行jar的代码,但是每当代码被执行时,什么都不会发生 try { proc = Runtime.getRuntime().exec("java -jar C://X-Dock//MP3Player.jar"); } catch (IOException e1) { e1.printStackTrace(); } 如果我手动运行JAR,它可以正常工作,但那行代码就是不工作。我确信代码是被调用的

我有一段应该运行一个可执行jar的代码,但是每当代码被执行时,什么都不会发生

      try {
           proc = Runtime.getRuntime().exec("java -jar C://X-Dock//MP3Player.jar");
      } catch (IOException e1) {
           e1.printStackTrace();
      }

如果我手动运行JAR,它可以正常工作,但那行代码就是不工作。我确信代码是被调用的。

如果在版本5之后有JRE,java会提供一个process builder。那么,试试这样的方法:

final ProcessBuilder pBuilder = new ProcessBuilder("/java/path", "-jar", "your_jar.jar");
pBuilder.directory(new File("your/working/directory"));
final Process process = pBuilder.start();
“/java/path”是java安装的路径,如果环境变量中有java,则可以用java替换


查看更多信息。

try
ProcessBuilder
instead另外,您不需要在字符串中“双”正斜杠,只需要反斜杠。您是否尝试过从CMD或通过创建.bat文件来运行jar?@OndrejTokar使其以bat而不是jar为目标。不知道为什么,但是谢谢!我不确定,但我也遇到过类似的问题。问题可能是文件的路径。也许你也可以试着把罐子放在本地。