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");

            }

        }

    }

 

 

 

번호 제목 글쓴이 날짜 조회 수
326 (Bard) the request was rejected because no multipart boundary was found file 황제낙엽 2023.08.23 727
325 (Bard) multipart/form-data 요청 처리를 위한 MultipartHttpServletRequest file 황제낙엽 2023.08.21 583
324 JPA 개요 황제낙엽 2023.07.25 708
323 javax.mail 샘플 몇가지 (테스트 수행전) 황제낙엽 2023.06.26 915
322 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from naver / 테스트 성공) file 황제낙엽 2023.06.24 924
321 java 프로그램으로 회원가입용 인증 메일을 보내는 방법 (from bing / 테스트 실패) [1] 황제낙엽 2023.06.23 1040
320 base64 encode, decode 황제낙엽 2023.06.12 660
319 BASE64Encoder, BASE64Decoder 의 deprecated 황제낙엽 2023.06.12 935
318 문자의 ASCII 값 테이블 - String.charAt() file 황제낙엽 2023.03.28 800
317 java로 알파벳 대소문자를 랜덤으로 조합하는 코드 만들어줘 (ChatGPT) 황제낙엽 2023.03.28 655
316 ajax 로 post 데이터를 servlet 으로 전달 받기 (with nexacro) [1] secret 황제낙엽 2023.02.26 0
315 구글 클라우드 비전 API 사용하기 (Google Cloud Vision API) 황제낙엽 2023.02.22 688
314 람다식(Lambda Expressions in Java) file 황제낙엽 2022.12.03 1224
313 ConcurrentLinkedQueue와 LinkedBlockingQueue 황제낙엽 2022.04.06 826
312 java.util.Queue file 황제낙엽 2022.04.06 8985
311 숫자형 클래스 BigInterger (int, long 범위 초과) 황제낙엽 2022.01.16 1088
310 LocalDate.now() 오늘 날짜 황제낙엽 2022.01.16 657
309 [java.lang.ProcessBuilder] “매개변수가 틀립니다” 혹은 ”Cannot run program” 황제낙엽 2021.10.15 1028
» 특정 경로에서 쉘 명령어 실행하기 (ProcessBuilder) 황제낙엽 2021.10.08 798
307 HP-UX, IBM-AIX 황제낙엽 2021.06.23 1079