【发布时间】:2019-01-16 15:46:34
【问题描述】:
我正在尝试为 Java 应用程序创建一个启动器,它将自动更新/下载计算机用户主区域中的 jar 文件,然后继续执行它。
我尝试使用 Process 和 Runtime 类来运行 jar 文件,我在自己的电脑上只取得了成功,但似乎 1:10 的人尝试了这个分布式软件(也在 jar 中form) 似乎无法运行 jar 文件(作为参考,我已确保所有测试此应用程序的人都安装了最新版本的 Java)。
负责运行jar文件的代码如下:
public static void startApplication() {
try {
Process proc = Runtime.getRuntime().exec("java -jar "+(saveDirectory + fileName));
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
我希望 jar 文件 fileName 在位置 saveDirectory 中打开,但是在 pc 到 pc 场景中并非总是如此。我只是想知道是否有更好的方法来确保 100% 的成功。
【问题讨论】:
-
您是否在转义
saveDirectory变量中的空格? -
saveDirectory 变量如下:
private static String saveDirectory = System.getProperty("user.home")+"/";附加参考文件名变量如下:private static String fileName = "Client.jar";