자바 Cmd 명령 실행 프로그램 을 어떻게 호출 합 니까?

7919 단어 Java
1. 개술:
        ,          java  ,      windows  ,       :
    git         ,   maven          。     JavaWeb      cmd  

2. 구체 적 인 코드 는 다음 과 같다.
/**
*sourcePath       
*/	
public String mvnPackage(String sourcePath) {
  	InputStream error = null;
  	try {
  		StringBuffer command = new StringBuffer();
  		command.append("cmd /c d: ");
  		//   &&           ,                     ,
  		//     &                   
  		command.append(String.format(" && cd %s", sourcePath));
  		command.append(" && mvn -Dmaven.test.skip=true package");
  		Process p = Runtime.getRuntime().exec(command.toString());
  		error = p.getErrorStream();
  		BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(error));
  		StringBuffer buffer = new StringBuffer();
  		String s = "";
  		while ((s = bufferedReader.readLine()) != null) {
  			buffer.append(s);
  		}
  		bufferedReader.close();
  		p.waitFor();
  		if (p.exitValue() != 0) {
  			return buffer.toString();
  		} else {
  			return "";
  		}
  	} catch (Exception ex) {
  		if (error != null) {
  			try {
  				error.close();
  			} catch (IOException e) {
  				e.printStackTrace();
  			}
  		}
  		return ex.getMessage();
  	}
  }

3. 구체 적 인 설명:
   p.getErrorStream() :            
   p.waitFor() :      ,  cmd                  
   p.exitValue():  ,0      ,          ,   

좋은 웹페이지 즐겨찾기