Mit Java Java ausführen?

Dieses Thema im Forum "Programmierung" wurde erstellt von GermanUbuntu, 21. November 2013.

  1. GermanUbuntu
    Offline

    GermanUbuntu

    Hallo Leute,

    Erst mall es gibt 2 Java Programme:
    Programm A = Mein Java Programm(Ordner wo die jar ist: MeinProgramm)
    Programm B = minecraft-server.jar(Ordner wo die jar ist: MeinProgramm/Server)

    ich möchte jetzt mit Programm A Programm B starten...
    Kein Problem mit:
    Code (Text):
    1.  
    2. Runtime.getRuntime().exec("java -jar Server/minecraft-server.jar");
    3.  
    doch ich will das alle Dateien der minecraft-server.jar im Ordner MeinProgramm/Server gepeichert werden... PROBLEM:

    das wird immer im Verzeichnis gespeichert wo Programm A liegt.

    Wie kann ich das lösen?
     
    #1
  2. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Habs nicht getestet:
    Code (Text):
    1.  
    2. Runtime.getRuntime().exec("bash -c","cd ordner;java -jar Server/minecraft-server.jar");
    3.  
     
    #2
  3. GermanUbuntu
    Offline

    GermanUbuntu

    Klappt leider nicght

    Klappt leider nicht wird immer noch im Hauptverzeichnis gespeichert...


    OS:
    Ubuntu Server, Ubuntu, Debian
     
    #3
  4. Paulomart
    Offline

    Paulomart

    Registriert seit:
    3. November 2013
    Beiträge:
    148
    Ort:
    C:/Eclipse/Workspace/
    Minecraft:
    Paulomart
    Bei Windows würde ich sowas Versuchen:

    Code (Text):
    1.  
    2. try {
    3.     String jarname = "spigot.jar";
    4.     String dir = "order\\bla\\";
    5.     String cmdpath = "C:\\Windows\\System32\\";
    6.            
    7.            
    8.     Runtime.getRuntime().exec(new String[]{cmdpath+"cmd.exe",  "cd " + dir, "java -jar "+jarname});
    9.  
    10. } catch (IOException e) {
    11.     e.printStackTrace();
    12. }
    13.  
     
    #4
  5. ThetaHD
    Offline

    ThetaHD

    Registriert seit:
    23. November 2013
    Beiträge:
    48
    Da gibt es verschiedene Möglichkeiten. Entweder du nutzt Runtime.getRuntime().exec(...)
    oder du nutzt den ProcessBuilder von Java und wenn du es ganz sauber haben willst kannst du auch Apache Commons Exec.

    Wenn du Pfade angeben willst kannst du auch File.separator nutzen. So hast du abhängig vom Betriebssystem immer den richtigen Separator und musst dich nicht wundern warum dein Programm auf Betriebssystem xy nicht richtig funktioniert.
     
    #5
  6. GermanUbuntu
    Offline

    GermanUbuntu

    Soo

    Mit dem funzt. das:
    Code (Text):
    1.  
    2. Process p = Runtime.getRuntime().exec("java -Xmx"+ram+" -Xms"+ram+" -jar craftbukkit.jar",null, new File(dir));
    3.  
     
    #6