, 내가 암호를 입력하라는 메시지가 있어요 : 나는 프로그래밍 방식으로 아파치 코 몬즈 Exec을 사용하여 동일한 정보를 표시 할 때"git pull"exec 명령이 중단되어 인쇄되지 않는 이유는 무엇입니까? 다음 명령을 실행하면
$ git pull
Enter passphrase for key (...)
을, 프로그램이 걸리면 아무것도 인쇄되지 않습니다
CommandLine cmd = new CommandLine("git");
cmd.addArgument("pull");
DefaultExecutor executor = new DefaultExecutor();
executor.setStreamHandler(new PumpStreamHandler(System.out, System.err, System.in));
executor.execute(cmd);
이 예가 아무 것도 인쇄하지 않고 멈추는 이유는 무엇입니까? 네이티브 콘솔을 사용하는 동안 git 암호를 입력하라는 메시지가 표시됩니까?
이런 저수준 항목을 이해하지 않고도 Java에서 git 처리와 관련된 모든 문제를 해결할 수있는 방법에 대한 아이디어는 무엇입니까? 아마 도서관? –
편집 후 : JGit은 현재 내가 사용하고있는 것입니다 : D, 감사합니다! –
Ok :) jgit은 [jsch] (http://www.jcraft.com/jsch/)를 사용하여'git push'와'git fetch'와 같은 모든 ssh 관련 작업을 수행한다는 것을 기억하십시오. SSH 키 인증을 처리하기 위해'ssh-agent' 또는'pageant'와 같은 인증 에이전트를 사용하려면 [JSch Agent proxy] (http://www.jcraft.com/jsch-agent-proxy/)가 필요합니다 원격 저장소와 상호 작용할 때마다 암호를 입력 할 필요가 없기 때문에) – user3159253