我用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