odanny がんばる

//TODO: たまに何か書こう

JavaからGitBashを実行したい

できた

ただし事前にC:\\program file\\git環境変数に追加しておく.(git-bash.exe と簡単に記述するため).MacLinuxの場合は `cmd ではなくて,対応するやつを使う.

private void openGitBash(String projectName) {
        try {
            // windows only
            ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "start", "git-bash.exe");
            pb.directory(new File(".\\" + projectName));
            Process process = pb.start();
            int ret = process.waitFor(); 
            System.out.println(ret);
       } catch (IOException exception) {
            exception.printStackTrace();
       } catch (InterruptedException exception) {
            exception.printStackTrace();
       }
    }

pb.directoryで実行するディレクトリを指定できるのと,pb.start() の例外処理をきちんとするのがポイント.

調べると,processBuilderではなく,Runtime を使用している記事も見かけるが,最近のJavaではprocessBuilderが良いようだ(Rntime も内部的に processBuilder になっているみたい)