Commençons par dire que mon code fonctionne. Je peux cliquer sur un fichier batch qui exécute un fichier jar, qui télécharge du code à partir de GIT.JGit Clone Repo démarré de Windows Gestionnaire des tâches échoue
Git gitRepo = Git.cloneRepository().setURI(remoteProjectPath)
.setDirectory(new File(destination))
.setCredentialsProvider(new UsernamePasswordCredentialsProvider(repoUser, repoPassword))
.setBranch(branch)
.setNoCheckout(true)
.call();
Dans les fenêtres, dans mon dossier de profil de l'utilisateur i dispose d'un fichier .gitconfig qui contient:
[http]
sslverify = false
lorsque je double cliquez sur le fichier de commandes, il fonctionne. Mais cela fait partie d'un processus automatisé. J'ai besoin de Windows Task Scheduler pour exécuter le fichier batch à minuit. (Le temps n'est pas important, sauf quand je ne suis pas au travail.) Mais je peux ouvrir le planificateur de tâches et cliquez sur la tâche et cliquez sur «Exécuter» et il échoue avec le drapeau sslverify.
"causés par: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: construction de chemin PKIX a échoué: sun.security.provider.certpath.SunCertPathBuilderException: impossible de trouver chemin de certification valide pour cible demandée"
il me semble que le .gitconfig est seulement utilisé quand je (manuellement) exécute le processus. Existe-t-il un moyen de déterminer si JGit tente de lire à partir d'un répertoire différent lorsqu'il est démarré par le planificateur de tâches? Ou existe-t-il un autre moyen de faire en sorte que JGit utilise sslverify = false pour une extraction clairsemée à l'aide de CloneCommand?
Merci,
CloneCommand de JGit ne peut ignorer la vérification SSL, voir ici: http://stackoverflow.com/questions/33998477/set-ssl-verification-off-for-jgit-clone-command –