2016-04-10 3 views
0

Ok, ich habe herausgefunden, wie man eine .exe-Datei von diesem Programm ausführt, aber ich weiß nicht, wie man eine .jar-Datei ausführt.So führen Sie eine .jar-Datei aus einem Java-Programm aus

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

Das wird Sony Vegas Pro laufen, 10 Sekunden warten und dann schließen. Hier ist, was ich bisher habe, eine .jar zu laufen zu bekommen versuchen:

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

kein Fehler über die Datei nicht finden, noch irgendein Fehler überhaupt. Das Programm läuft wie es wäre, ohne etwas zu öffnen.

Bitte helfen!

+0

, was passiert, wenn Sie 'Java-jar C:/Users/Inhaber/Desktop/minecraft_server.15w51b' in cmd? Kannst du es mit einem Doppelklick öffnen? –

+0

@FastSnail Hah, nein kann ich nicht, Doppelklick funktioniert nicht, und auch cmd gibt mir einen Fehler. "nicht auf JAR-Datei zugreifen". aber ich versuche es mit einer anderen JAR-Datei, "JSonSign" und es wird das gleiche in cmd und meinem Programm machen. – Kaelinator

+0

Wenn Sie es von Java-Programm ausführen, können Sie nicht sehen, ein Cmd. Wenn Sie die Ausgabe lesen, dann können Sie die Nachricht erhalten. Aber wenn es nicht manuell ausgeführt werden kann dann wie kann man von Java testen –

Antwort

0

Sie könnten versuchen, auf eine solche Art und Weise auch try {

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