Прикрутить git к processbuilder

115
08 июня 2021, 11:20

решил поработать с командной строкой в java. Нашел способ работы с cmd через ProcessBuilder. Далее я сделал батник, внутри которого: git status. Код программы на Java

ProcessBuilder ps = new ProcessBuilder();
ps.command("C:\\Users\\practic\\Desktop\\tt\\date.bat");

При запуске батника выдает ошибку: 'git' is not recognized as an internal or external command, operable program or batch file.

После чего я решил вписать в батник: where git Java выдает на это: INFO: Could not find files for the given pattern(s).

Если же прописывать все это в cmd, то все работает

Что можно сделать? чтобы команды гита срабатывали? Заранее благодарен

Answer 1

Я бы предложил не мучать Process ( и тем более не парсить ответ), а заиспользовать jGit библиотеку. Посмотреть пример вызова git status можно отсюда:

     try (Git git = new Git(repository)) {
            Status status = git.status().call();
            System.out.println("Added: " + status.getAdded());
            System.out.println("Changed: " + status.getChanged());
            System.out.println("Conflicting: " + status.getConflicting());
            System.out.println("ConflictingStageState: " + status.getConflictingStageState());
            System.out.println("IgnoredNotInIndex: " + status.getIgnoredNotInIndex());
            System.out.println("Missing: " + status.getMissing());
            System.out.println("Modified: " + status.getModified());
            System.out.println("Removed: " + status.getRemoved());
            System.out.println("Untracked: " + status.getUntracked());
            System.out.println("UntrackedFolders: " + status.getUntrackedFolders());
        }
READ ALSO
Как указать обработчику кнопки внутри ListView выйти из текущего Activity?

Как указать обработчику кнопки внутри ListView выйти из текущего Activity?

Есть кастомный ListView, каждый Item содержит Button

115
Как проверить Андроид на безопасность?

Как проверить Андроид на безопасность?

Как можно проверить что телефон а именно Android (60) + не содержит троянов, есть ли алгоритмы для этого ? надо внедрить в свой проект или open source...

99