2011-10-31 17 views
8

Mam pewne trudności z klientem git napisanym w Javie. Używam biblioteki jGit do łączenia się przez ssh na serwerze git. Problem polega na tym, że nie wiem, jak określić ścieżkę do klucza prywatnego i hasła do niego. Nie znalazłem żadnych przykładów w dokumentacji jGit dotyczących funkcji, które muszę wywoływać. Z tego, co przeczytałem, biblioteka jGit używa JSch do łączenia się z serwerem za pomocą ssh, a JSch obsługuje prywatne klucze i hasła. Czy ktoś ma jakieś doświadczenie z tym lub ma jakiś działający kod?Klient Java git używający jgit

Dziękuję

Odpowiedz

7

nie zawsze używać jGit, ale patrząc na Javadocs (które pozornie nie są w trybie online przeglądania, but can be downloaded) trzeba skonfigurować SshSessionFactory (tj utworzyć podklasę JSchConfigSessionFactory i przesłanianie jego metoda configure).

Przedmiotem JSch obsługuje kluczy prywatnych z jego addIdentity metod oraz Hasła można podawać z UserInfo obiektów do poszczególnych jsch Session.

(Zastrzeżenie: jsch Javadoc został napisany przeze mnie.)

+0

Jesteś geniuszem! Dziękuję bardzo, że działało jak czar. – azertys

+0

@azertys byłoby pomocne, gdybyś mógł udostępnić więcej informacji, jak to działało. Nadal staram się to osiągnąć. Mam błędy: com.jcraft.jsch.JSchException: Auth fail \t w com.jcraft.jsch.Session.connect (Session.java:519) \t w org.eclipse.jgit.transport.JschConfigSessionFactory.getSession (JschConfigSessionFactory. java: 117) – mohanjot

+0

Rozumiem, że minęło prawie 6 lat, ale jakakolwiek pomoc w tej sprawie byłaby niesamowita. – mohanjot