2011-10-31 26 views
8

Tôi gặp một số khó khăn với một khách hàng git viết bằng java. Tôi đang sử dụng thư viện jGit để kết nối thông qua ssh trên máy chủ git. Vấn đề là tôi không biết cách xác định đường dẫn đến khóa riêng và cụm mật khẩu cho nó. Tôi không thể tìm thấy bất kỳ ví dụ nào trong tài liệu jGit về những chức năng tôi cần gọi. Từ những gì tôi đọc thư viện jGit đang sử dụng JSch để kết nối với máy chủ bằng cách sử dụng ssh và JSch hỗ trợ các khóa riêng và mật khẩu. Có ai có bất kỳ kinh nghiệm với điều này hoặc có một số mã làm việc?Java git client bằng cách sử dụng jgit

Cảm ơn bạn

Trả lời

7

Tôi không bao giờ sử dụng jGit, nhưng từ nhìn vào Javadocs (mà là dường như không thể xem trực tuyến, but can be downloaded), bạn cần phải cấu hình một SshSessionFactory (tức là tạo một lớp con của JSchConfigSessionFactory, và ghi đè phương thức configure của nó).

Đối tượng JSch hỗ trợ các phím riêng với addIdentity phương pháp của nó, và passphrase có thể được đưa ra với UserInfo đối tượng để mỗi cá nhân JSch Session.

(Disclaimer: Các JSch Javadoc đã được viết bởi tôi.)

+0

Bạn là một thiên tài! Cảm ơn bạn rất nhiều nó đã làm việc như một say mê. – azertys

+0

@ fasttys sẽ rất hữu ích nếu bạn có thể chia sẻ thêm một số thông tin, cách nó hoạt động cho bạn. Tôi vẫn đang đấu tranh để có được điều này qua. Tôi nhận được lỗi: com.jcraft.jsch.JSchException: Auth thất bại \t tại com.jcraft.jsch.Session.connect (Session.java:519) \t tại org.eclipse.jgit.transport.JschConfigSessionFactory.getSession (JschConfigSessionFactory. java: 117) – mohanjot

+0

Tôi hiểu nó đã được gần 6 năm nhưng bất kỳ trợ giúp về điều này sẽ là tuyệt vời. – mohanjot