让我们开始说我的代码工作。我可以单击一个运行jar文件的批处理文件,从GIT下载一些代码。JGit Clone Repo从Windows任务管理器启动失败
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进行稀疏检出吗?
感谢,
JGit的CloneCommand不能跳过SSL验证,请看这里:http://stackoverflow.com/questions/33998477/set-ssl-verification-off-for-jgit-clone-command –