Запустите Java-сервер Minecraft на Windows с помощью ProcessBuilder - PullRequest
0 голосов
/ 13 мая 2019

У меня есть класс ServerStart. Когда я пытаюсь запустить Minecraft Bukkit Server, ничего не происходит. Процесс server.waitFor(); возвращает 1, но я не знаю, что это значит. Я полагаю, что это может быть проблема с разрешениями.

Консольный вывод: 1 java.lang.ProcessBuilder@7852e922 Ошибка: не удалось создать виртуальную машину Java. Ошибка: произошло фатальное исключение. Программа будет закрыта. Неверный максимальный размер кучи: -Xmx1024M -jar C: \ Users \ robio \ Desktop \ serverConsole \ server.jar Выход с кодом ошибки: 1

public class ServerStart {

    private File serverFolder = new File("C:/Users/robio/Desktop/serverConsole/");
    private ProcessBuilder pb;
    private Process server;
    private BufferedReader reader;
    private String line;
    private int exitCode;

    public ServerStart() {
        init();
    }

    private void init() {

        if(serverFolder.exists() && serverFolder.isDirectory()) {
            System.out.println("1");
        }else {
            System.out.println("-1");
        }


        try {
            pb = new ProcessBuilder("Java", "-Xmx1024M -jar " + serverFolder + "\\server.jar");
            //pb.redirectOutput(serverFile);
            System.out.println(pb.inheritIO());
            server = pb.start();
            reader = new BufferedReader(
                    new InputStreamReader(server.getInputStream()));
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            exitCode = server.waitFor();
            System.out.println("\nExited with error code : " + exitCode);

        }catch(IOException | InterruptedException arg0) {
            arg0.printStackTrace();
        }
    }

    public Process getServerProcess() {
        return server;
    }

    public static void main(String[] args) {
        new ServerStart();
    }

}
...