我用jarsplice的合併我的庫和一切正常讀取參數,但是當我試圖從一個控制檯運行遊戲失敗:(無法從控制檯
該命令不起作用:
的java -Dhost =本地主機-Dport = 44444 -jar LG2.jar
通信:
抗辯n個線程 「主要」 java.lang.ArrayIndexutOfBoundsException:0在start.Game.main
這是我的主要功能:
public static void main(String[] args) {
AppGameContainer appgc;
host = args[0];
port = Integer.parseInt(args[1]);
try {
appgc = new AppGameContainer(new Game(gamename));
// appgc.setDisplayMode(1366, 768, true);
appgc.setDisplayMode(640, 360, false);
appgc.start();
} catch (SlickException e) {
e.printStackTrace();
}
}
在此之前:
private static String host;
private static int port;
從內存中,它們不會被髮送到您的代碼的命令行參數,但會成爲您可以從System類讀取的系統屬性(它們傳遞給JVM而不是Jar)。你可以使用'java -jar LG2.jar host = localhost port = 44444'來代替,然後你可以將它們作爲命令行參數讀取。 – MadProgrammer
與'java -jar LG2.jar localhost 44444'相同,仍然不起作用。 –
'java -jar LG2.jar localhost 44444'對我來說工作正常 – MadProgrammer