2014-09-06 89 views
1

我遇到了問題。 我有一個jar文件,應該執行一個啓動另一個jar文件的Linux命令。Linux運行其他罐子

但它總是告訴我,如果我跑我的罐子:

java.io.IOException: Cannot run program "bash java -jar -Xmx2048M -Xms2G -XX:MaxPermSize=128M spigot.jar nogui" (in directory "/home/RusticGamesNetwork/MinecraftServers/MainLobby"): error=2, File or Directory not found 
     at java.lang.ProcessBuilder.start(Unknown Source) 
     at de.Cammeritz.RootServer.Servers.lobby(Servers.java:13) 
     at de.Cammeritz.RootServer.Main.main(Main.java:11) 
Caused by: java.io.IOException: error=2, File or Directory not found 
     at java.lang.UNIXProcess.forkAndExec(Native Method) 
     at java.lang.UNIXProcess.<init>(Unknown Source) 
     at java.lang.ProcessImpl.start(Unknown Source) 
     ... 3 more 

這是我的2類:

package de.Cammeritz.RootServer; 

public class Main { 

public static void main(String args[]) { 

    Servers s = new Servers(); 

    System.out.println("Server werden gestartet!"); 

    s.lobby(); 

    try { 
     Thread.sleep(10000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 

    System.out.println("In 10 sec. schließt sich das Programm selber!"); 

    try { 
    Thread.sleep(10000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } 

    System.out.println("Das Programm wird geschlossen!"); 

    System.exit(0); 
    return; 
} 

} 

這一個:

package de.Cammeritz.RootServer; 

import java.io.File; 
import java.io.IOException; 

public class Servers { 

public void lobby() { 

    ProcessBuilder pb = new ProcessBuilder("bash java -jar -Xmx2048M -Xms2G  -XX:MaxPermSize=128M spigot.jar nogui"); 
    pb.directory(new File("/home/RusticGamesNetwork/MinecraftServers/MainLobby/")); 
    try { 
     pb.start(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

} 
} 

謝謝你們尋求幫助:)

+1

在'-jar'之後立即指定您的.jar文件名! – FoggyDay 2014-09-06 18:47:41

+0

java -jar spigot.jar -Xmx2048M ...喜歡這個? :) – 2014-09-06 18:49:08

回答

1

p當java運行時不會出現問題。即使bash沒有被執行。我不認爲你需要從bash運行java。

ProcessBuilder pb = new ProcessBuilder("java", "-jar", "spigot.jar", "-Xmx2048M", "-Xms2G,  "-XX:MaxPermSize=128M", "nogui"); 

正在發生的事情是,Java是試圖運行可執行文件名爲 「慶典Java的罐子-Xmx2048M -Xms2G -XX:MaxPermSize參數= 128M spigot.jar NOGUI」, 「慶典」 與參數的instad。

請參閱:http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html

+0

謝謝你的幫助! – 2014-09-06 18:59:27