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");
}
}
}
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
5 | [java.lang.ProcessBuilder] “매개변수가 틀립니다” 혹은 ”Cannot run program” | 황제낙엽 | 2021.10.15 | 541 |
» | 특정 경로에서 쉘 명령어 실행하기 (ProcessBuilder) | 황제낙엽 | 2021.10.08 | 408 |
3 | Runtime 클래스의 exec() 함수 실행시의 실행 결과 수집 | 황제낙엽 | 2020.03.26 | 359 |
2 | Runtime 클래스를 이용한 윈도우 프로그램 실행 예제 | 황제낙엽 | 2017.08.01 | 413 |
1 | OS 쉘 명령어(shell script) 실행하기 [ProcessBuilder, Runtime.getRuntime().exec()] | 황제낙엽 | 2012.02.22 | 923 |