我正在制作一个程序,以便我和我的朋友更容易管理我的游戏服务器,但是当我让我的程序通过jar启动服务器时,一些游戏文件出现了错误的地方(不是自己的服务器在哪里,有没有办法改变它?
我使用ProcessBuilder启动一个bat文件,该文件在同一个文件夹中启动.jar。
ProcessBuilder builder = new ProcessBuilder("Minecraft-server.bat"); //it gets the full path in the .bat with %~dp0
builder.redirectErrorStream(true);
builder.redirectInput();
Process process = builder.start();
答案 0 :(得分:1)
我相信您应该指定bat
文件的完整路径,并且可以使用ProcessBuilder.directory(File)
设置此流程构建器的工作目录。随后由此对象启动的子进程的start()
方法将使用此作为其工作目录。
String batFile = "Minecraft-server.bat";
ProcessBuilder builder = new ProcessBuilder(batFile);
builder.directory(new File(batFile).getParentFile());