2012-04-14 2 views
3

Java 응용 프로그램의 명령 줄 인터페이스가있는 외부 도구와 통신하는 방법이 필요합니다. 덜 고통스럽게 만들 수있는 편리한 도구/lib가 있습니까? 날 믿어, 나는 충분히 봤어. 고맙습니다!외부 CLI와 통신 할 Java 도구가 있습니까?

+0

http://stackoverflow.com/questions/2417495/java-cli-ui-design-frameworks-or-libraries. "Java shell"에 대한 인터넷 검색은 두 가지 가능성을 제시합니다. 임베딩을위한 순수 CLI는 해당 프로젝트에서도 추출 될 수 있습니다. –

+0

@JoopEggen OP가 원하는 것 같지 않습니다. CLI를 구현하지 않고 외부 CLI 도구와 통신해야합니다. –

+1

http://stackoverflow.com/questions/3343066/reading-streams-from-java- run-exec – cherit

답변

0

는 어디서 각 명령 한 과학적 방법에 대한 내 자신의 작은 명령 기반의 프레임 워크를 작성하게 IntelliJ IDEA 플랫폼 API +에서 프로세스 핸들러 (보다 구체적으로 com.intellij.execution.process.OSProcessHandler)를 사용하여 종료했습니다 자신을 실행 (쓰기)하고 프로세스의 응답을 구문 분석 (읽기)합니다.

3

Runtime.exec()을 운영 체제의 외부 명령을 실행할 때 사용할 수 있습니다. 하지만, 그것을 사용하는 데있어 어려움을 겪고 있음을 알고 있어야합니다. 먼저 article을 먼저 읽으십시오.

귀하의 요구에 너무 단순하다면 ProcessBuilder을 살펴보십시오. 그것은 release notes에서, 자바 1.5부터 사용할 수있다 :

새로운 ProcessBuilder 클래스에서는, Runtime.exec보다 서브 프로세스를 호출 할 수있는 편리한 방법을 제공합니다. 특히 ProcessBuilder를 사용하면 수정 된 프로세스 환경 (즉, 상위 프로세스 환경을 기반으로하지만 약간의 변경 사항이 있음)을 사용하여 하위 프로세스를 쉽게 시작할 수 있습니다.

+0

고맙지 만'Runtime.exec()'지나서. –

+0

@AlexanderEliseyev 나는 대답을 다른 더 나은 대안으로 업데이트했다. –

+0

나는 프로세스와 통신 할 수있는 방법이 필요하며 시작하지는 말아야한다. . 외부 CLI와 통신하면서 요청/응답 처리를 쉽게하기위한 도구가 필요합니다. –

관련 문제