从 Windows 任务管理器启动 JGit Clone Repo 失败

问题描述 投票:0回答:1

首先让我们说我的代码有效。我可以单击运行 jar 文件的批处理文件,该文件从 GIT 下载一些代码。

Git gitRepo = Git.cloneRepository().setURI( remoteProjectPath )
.setDirectory(new File(destination))
.setCredentialsProvider( new UsernamePasswordCredentialsProvider( repoUser, repoPassword ) )
.setBranch(branch)
.setNoCheckout(true)
.call();

在 Windows 中,在我的用户配置文件文件夹中,我有一个 .gitconfig 文件,其中包含:

[http]
sslverify = false

当我双击批处理文件时,它就起作用了。 但是,这是自动化过程的一部分。我需要 Windows 任务计划程序在午夜执行批处理文件。 (时间并不重要,除了我不工作的时候。) 但我可以打开任务计划程序并单击任务,然后单击“运行”,但它失败并显示 sslverify 标志。

“由以下原因引起:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”

在我看来,.gitconfig 仅在我(手动)执行该过程时使用。有没有办法确定 JGit 在任务计划程序启动时是否尝试从不同的目录读取? 或者是否有另一种方法可以让 JGit 使用 sslverify=false 来使用 CloneCommand 进行稀疏结帐?

clone jgit windows-task-scheduler
1个回答
0
投票

在对 EGit 的参考中,我发现:如何更改“用户设置”的“位置”

我进入系统环境变量并创建了一个系统变量“HOME”并将其设置为包含我需要的 .gitconfig 文件的目录,现在即使从 Windows 任务计划程序启动该过程也可以正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.