Проект перестает работать после компиляции в jar

#java

Вопрос:

В настоящее время я хочу попытаться создать файл .jar, который указывает на файл .bat, чтобы запустить игровой сервер,

загрузчик модов Forge для текущей версии переключился с запуска сервера через файл jar на файл .bat, и у моего поставщика серверов в настоящее время нет решения для этого. -Небольшой отказ от ответственности, я не касался java в течение 6 лет, поэтому я могу не видеть очевидного

Для этого я нашел какой-то код от Павана.

Тем не менее, есть две проблемы, в которых, я надеюсь, у вас может быть решение или какой-то другой обходной путь. Во-первых, пока в Intellij «все» работает нормально. main() работает, и открывается тест «Привет, мир». bat. После компиляции в jar ничего не происходит, даже с заданным путем к файлу.

Вторая Проблема. Я пробовал несколько мест, но System.exit(0) не работает, после

 int returnCode = CommandLineUtils.executeCommandLine(commandLine, systemOut, systemErr);
 

Код в основном останавливается, и процесс остается неактивным, что может плохо сказаться на игровом сервере, где у меня нет доступа к необходимым инструментам для самостоятельной очистки… и я не хочу объяснять службе поддержки клиентов, почему в фоновом режиме работает 1000 экземпляров java 😉

Но, несмотря на это, спасибо за ваше время и, надеюсь, за помощь

 import java.io.File;
import java.io.OutputStreamWriter;

import org.codehaus.plexus.util.cli.CommandLineException;
import org.codehaus.plexus.util.cli.CommandLineUtils;
import org.codehaus.plexus.util.cli.Commandline;
import org.codehaus.plexus.util.cli.WriterStreamConsumer;

public class BatRunner {
    public BatRunner() {
        String batfile = "run.bat";
        String directory = "C:\Users\User\IdeaProjects";
        try {
             runProcess(batfile, directory);           
        } catch (CommandLineException e) {
            e.printStackTrace();
        }

    }

    public void runProcess(String batfile, String directory) throws CommandLineException {

        Commandline commandLine = new Commandline();

        File executable = new File(directory   "/"  batfile);
        commandLine.setExecutable(executable.getAbsolutePath());

        WriterStreamConsumer systemOut = new WriterStreamConsumer(
                new OutputStreamWriter(System.out));

        WriterStreamConsumer systemErr = new WriterStreamConsumer(
                new OutputStreamWriter(System.out));

        int returnCode = CommandLineUtils.executeCommandLine(commandLine, systemOut, systemErr);
        System.exit(0);
        if (returnCode != 0) {
            System.out.println("Something Bad Happened!");
        } else {
            System.out.println("Taaa!! ddaaaaa!!");
        }
    }

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

Источник: https://www.opencodez.com/java/how-to-execute-bat-file-from-java.htm/