好的,我想出了如何从这个程序运行.exe,但我不知道如何运行.jar。
package com.Kaelinator;
import java.io.IOException;
public class ServerManager {
public static void main(String[] args){
try {
System.out.println("Opening");
Runtime runTime = Runtime.getRuntime();
Process process = runTime.exec("D:/Program Files/Sony/Vegas Pro 12.0/vegas");
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Closing");
process.destroy();
} catch (IOException e){
e.printStackTrace();
}
}
}
这将运行Sony Vegas Pro,等待10秒,然后关闭它。 这是我到目前为止所做的,试图运行.jar:
package com.Kaelinator;
import java.io.IOException;
public class ServerManager {
public static void main(String[] args){
try {
System.out.println("Opening");
Runtime runTime = Runtime.getRuntime();
Process process = runTime.exec(" java -jar " + "C:/Users/Owner/Desktop/minecraft_server.15w51b");
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Closing");
process.destroy();
} catch (IOException e){
e.printStackTrace();
}
}
}
没有找不到文件的错误,也没有任何错误。程序会像它一样运行,只是没有打开任何东西。
请帮忙!
答案 0 :(得分:0)
你也可以尝试这样的方式 尝试{
if ((new File("c:\\path_of_jar\jarFileName.jar")).exists()) {
Process p = Runtime
.getRuntime()
.exec("rundll32 url.dll,FileProtocolHandler c:\\path_of_jar\jarFileName.jar");
p.waitFor();
} else {
System.out.println("File does not exist");
}
}
catch (Exception ex) {
ex.printStackTrace();
}