2011-10-31 3 views
8

J'ai quelques difficultés avec un client git écrit en Java. J'utilise la bibliothèque jGit pour me connecter via ssh sur le serveur git. Le problème est que je ne sais pas comment spécifier le chemin d'accès à la clé privée et la phrase secrète pour cela. Je n'ai trouvé aucun exemple dans la documentation de jGit sur les fonctions que j'ai besoin d'appeler. D'après ce que j'ai lu, la bibliothèque jGit utilise JSch pour se connecter au serveur à l'aide de ssh et JSch prend en charge les clés privées et les mots de passe. Est-ce que quelqu'un a une expérience avec cela ou a un code de travail?Client Java git utilisant jgit

Merci

Répondre

7

Je ne jamais utiliser jGit, mais de regarder la Javadocs (qui ne sont apparemment pas en ligne explorable, but can be downloaded), vous devez configurer un SshSessionFactory (ie créer une sous-classe de JSchConfigSessionFactory et override sa méthode configure).

L'objet JSch prend en charge les clés privées avec ses addIdentity méthodes et les phrases de passe peut être donnée avec des objets UserInfo à chaque individu JSch Session.

(Avertissement: Le JSch Javadoc a été écrit par moi.)

+0

Vous êtes un génie! Merci beaucoup ça a marché comme un charme. – azertys

+0

@azertys il serait utile que vous puissiez partager plus d'informations, comment cela a fonctionné pour vous. Je me bats toujours pour obtenir ce thru. Je reçois des erreurs: com.jcraft.jsch.JSchException: Auth échouent \t à com.jcraft.jsch.Session.connect (Session.java:519) \t à org.eclipse.jgit.transport.JschConfigSessionFactory.getSession (JschConfigSessionFactory. java: 117) – mohanjot

+0

Je comprends qu'il a été proche de 6 ans mais toute aide à ce sujet serait géniale. – mohanjot

Questions connexes