如何在Java程序中运行.jar文件?

时间:2013-07-17 07:18:14

标签: java process cmd command runtime.exec

我在这里尝试做的是运行位于

下的.jar文件
C/Users/-any user here-/appdata/Roaming/-my folder here-/-file name here-.jar

我是否以某种方式打开CMD并执行:

cd appdata/Roaming/<Folder>
java -jar <FileName>.jar

当我将其输入CMD本身时,这似乎有效。从java程序运行时,我似乎无法使它工作。

我试着这样做:

Runtime.getRuntime().exec("cd appdata/Roaming");

我收到指定目录不存在的错误。

2 个答案:

答案 0 :(得分:4)

使用绝对路径而不是相对路径,如果从任何工作目录运行,则应该阻止找不到路径。否则就像Nizil所说的那样将它添加到你的类路径中。

要获取当前用户的名称,请使用System.getProperty("user.name")并连接到您的路径。

user = System.getProperty("user.name");
cmd = "java -jar C/Users/" + user + "/appdata/Roaming/<folder>/<file>.jar";
Runtime.getRuntime().exec(cmd);

答案 1 :(得分:3)

您只需在类路径中添加jar的路径(不要忘记使用绝对路径),并在代码中调用jar的main方法。但是,此解决方案是特定于用户的,因为路径将被编码,除非您想深入了解更棘手的事情(How do you change the classpath within java)。