使用jgit的Java git客户端

8
我在使用一个Java编写的git客户端时遇到了一些困难。我正在使用jGit库通过ssh连接git服务器。问题是我不知道如何指定私钥的路径和密码。我在jGit文档中找不到任何示例说明我需要调用哪些函数。根据我的阅读,jGit库使用JSch通过ssh连接服务器,而JSch支持私钥和密码。有没有人对此有经验或具有可工作的代码?谢谢!
1个回答

7

我从未使用过jGit,但通过查看Javadocs(似乎无法在线浏览,但可以下载),您需要配置SshSessionFactory(即创建JSchConfigSessionFactory的子类,并覆盖其configure方法)。

JSch对象支持使用其addIdentity方法的私钥,而口令可以通过UserInfo对象提供给每个单独的JSch Session

(免责声明:JSch Javadoc是我编写的。)


@azertys 如果您能分享更多信息,对我来说会很有帮助。我仍然在努力尝试解决这个问题。我遇到了错误:com.jcraft.jsch.JSchException: Auth fail at com.jcraft.jsch.Session.connect(Session.java:519) at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:117) - mohanjot
我知道已经接近6年了,但如果能得到任何帮助,那将是太棒了。 - mohanjot
抱歉,我没有我的应用程序代码了,但如果您可以在这里发布一些不起作用的代码,也许我或其他人可以帮助您解决问题。 - azertys

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接