다른 cmd 래퍼와 마찬가지로 모든 cmd 응용 프로그램의 스트림을 가로채는 cmd 래퍼를 작성하고 있습니다. 지금까지 나는 succeded하고 대부분의 애플 리케이션은 '핑 (ping)'및 다른 것들처럼 잘 작동합니다. 그러나 Clojure 또는 Scala REPL을 시작할 때 처음에는 everyhtings가 좋지만 여러 줄 함수를 입력하거나 오류가 발생하면 메시지가 파이프에 멈추는 것처럼 멈 춥니 다. REPL과 랩퍼 간의 모든 통신이 중지됩니다. 래퍼를 통해 시작하는 모든 앱의 stdout 및 stderr 스트림을 채널하기 때문에이 상황에서해야 할 일이 무엇인지, 왜 출력이 차단되지 않는지는 분명하지 않습니다.Windows cmd 래퍼 Clojure 및 Scala REPLs와의 통신 불량
업데이트 : 새로운 정보는 사용자 om-nom-nom에 의해 제안되었으며 이는 스칼라 및 Clojure REPL이 고급 콘솔 상호 작용 처리에 jline을 사용함을 나타냅니다. 그래서 이것은 몇 가지 새로운 질문을 제기합니다 : 표준 스트림과 다른 jline으로 작업하는 이유는 무엇입니까? 일반 스트림과 유사한 방식으로 jline 스트림을 다시 라우팅 할 수있는 방법이 있습니까? 그런 jline을 사용하는 가장 좋은 방법은 무엇입니까?