讓我們開始說我的代碼工作。我可以單擊一個運行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 –