sitelink1 | https://blog.naver.com/spdlqjdudghl/222442055397 |
---|---|
sitelink2 | https://mkyong.com/java/how-to-execute-s...from-java/ |
sitelink3 | |
sitelink4 | |
sitelink5 | |
sitelink6 |
특정 경로에 있는 Git 저장소에서 git 명령어를(reset) 실행해야 했다
ProcessBuilder 에서는 directory() 함수를 통해 쉘명령어를 실행할 경로를 지정할 수 있다
public static void runProcessBuilder() throws IOException {
String hashcode = "dddc6831400c354f71934aa83ee92343dabe0962";
hashcode = "b3ce21a3b94adb888ad7b059576b3c055c80f95b";
String[] command = new String[] {
"git"
,"reset"
,"--hard"
,"\""+hashcode+"\""
};
ProcessBuilder pb = new ProcessBuilder(command);
pb.directory(new File("D:\\3_WORK\\3_PRODUCT_SRC\\DOMAIN\\WORK_REPOSITORY\\"));
pb.redirectErrorStream(true);
Process proc = pb.start();
try (BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()))) {
String line = null;
StringBuffer lineSb = new StringBuffer();
while ((line = br.readLine()) != null) {
lineSb.append(line);
}
if (lineSb.length() > 0) { // Tomcat 또는 프로그램을 DOS Command 창에서 명령어
System.out.println(lineSb); // 실행 결과를 출력
} else { // 프로그램을 OS서비스로 등록하여 수행시 실행 결과 메세지를 취할 수 없으므로 임의로 완료 메세지 로깅
System.out.println("nothings");
}
}
}