我正在编写一个需要能够通过命令提示符打开和终止 Minecraft 服务器的程序。到目前为止我的代码是这样的:
Runtime.getRuntime().exec("cd ./Server"); //go to the server directory
Process server = Runtime.getRuntime().exec("java -Xmx1024M -Xms1024M -jar minecraft_server.exe nogui"); //run minecraft server in nogui mode
Thread.sleep((long)(1000*60*.5)); //wait 30 seconds
Runtime.getRuntime().exec("stop"); //terminate the server
Thread.sleep((long)(1000*60*.5)); //wait 30 seconds
server.destroy(); //forcibly terminate the server assuming it hasn't already
System.exit(0);
这只是我提出的基本逻辑代码。我曾尝试使用 BufferedWriters,但它们只是不起作用,即使执行 cd 命令也会出错。我正在使用位于 minecraft.net/download.jsp 的 Minecraft_Server.exe。“停止”命令在进程处于活动状态时运行,并告诉程序保存服务器然后终止。我是否需要以某种方式使用线程。请帮助:)我已经花了几个小时试图找到答案,我只是一无所知哈哈。