我在这里尝试做的是运行位于
下的.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");
我收到指定目录不存在的错误。
答案 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)。