通过jar运行bat使文件出现错误的地方

时间:2014-11-12 18:25:56

标签: java batch-file

我正在制作一个程序,以便我和我的朋友更容易管理我的游戏服务器,但是当我让我的程序通过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();

1 个答案:

答案 0 :(得分:1)

我相信您应该指定bat文件的完整路径,并且可以使用ProcessBuilder.directory(File)设置此流程构建器的工作目录。随后由此对象启动的子进程的start()方法将使用此作为其工作目录。

String batFile = "Minecraft-server.bat";
ProcessBuilder builder = new ProcessBuilder(batFile);
builder.directory(new File(batFile).getParentFile());