如何从java程序运行.jar文件

时间:2016-04-10 04:12:43

标签: java jar execute

好的,我想出了如何从这个程序运行.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();
        }
        }
    }

没有找不到文件的错误,也没有任何错误。程序会像它一样运行,只是没有打开任何东西。

请帮忙!

1 个答案:

答案 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();
      }