Jgit Authentication not supported

在尝试使用JGit操作AzureDevops的Git仓库时遇到授权问题,通过官方文档发现可以创建个人访问令牌来解决。这种方法甚至不需要用户名密码。关键在于自定义Http连接工厂并在请求中添加令牌。此方法为解决Jgit连接特定仓库问题提供了有效思路。
摘要由CSDN通过智能技术生成

这次的问题是用jgit实现代码git仓库操作时碰到的缺陷

其他Git仓库都没问题,就是在连接Azure Devops的Git仓库时,却报了这个错,

换jar什么都试了遍都不行,不过翻看了官方文档之后找到了思路

https://docs.microsoft.com/zh-cn/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=preview-page

只要创建个人访问令牌,并在Git请求的时候带上这个令牌就可以了

用这个令牌甚至都不需要用户名密码

还有一个问题是怎么在Jgit的写法里面带上这个token

这里给个思路

HttoTransport.setConnectionFactory();

只要在这个里面set自己定义的http连接工厂类就行了,然后在里面的http请求里面加上之前创建的token即可

解决问题还是要看官方文档啊。

要在Gradle中使用JGit,您需要做以下几个步骤: 1. 在您的`build.gradle`文件中添加JGit的依赖项。您可以从Maven中央存储库中获取JGit的最新版本。在`dependencies`部分添加以下代码: ```groovy dependencies { implementation 'org.eclipse.jgit:org.eclipse.jgit:5.11.0.202105131744-r' } ``` 请注意,在这个例子中,我们使用了JGit的5.11.0版本。您可以根据需要更换版本号。 2. 在您的Gradle脚本中,导入`org.eclipse.jgit.api`包来使用JGit的API。例如,在您的Java类中,您可以这样导入: ```java import org.eclipse.jgit.api.*; import org.eclipse.jgit.api.errors.*; import org.eclipse.jgit.lib.*; import org.eclipse.jgit.revwalk.*; import org.eclipse.jgit.transport.*; ``` 3. 您可以使用JGit来执行各种操作,例如克隆、拉取、推送等。这里是一个使用JGit克隆远程仓库的简单示例: ```java import org.eclipse.jgit.api.CloneCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import java.io.File; public class JGitExample { public static void main(String[] args) { try { // 设置存储库目录 File localPath = File.createTempFile("test", ""); localPath.delete(); // 克隆远程仓库 System.out.println("Cloning into: " + localPath); Git.cloneRepository() .setURI("https://github.com/example/example.git") .setDirectory(localPath) .call(); System.out.println("Clone completed successfully."); } catch (GitAPIException e) { System.out.println("Failed to clone repository: " + e.getMessage()); } } } ``` 在此示例中,我们使用`Git.cloneRepository()`方法来克隆远程仓库,并将其存储在指定的本地路径中。 这只是一个简单的示例,您可以根据您的需求使用JGit执行其他操作。请参阅JGit文档以了解更多信息和示例:https://www.eclipse.org/jgit/documentation/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值