2017-04-26 3 views
0

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,

+0

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 –

Répondre

0

je me suis battu depuis si longtemps, et enfin trouver un court-circuitage de réponse après que je posterai la question. Dans une référence à EGit j'ai trouvé: How to change "Location" for "User Settings"

Mais cela a fonctionné pour moi. Je suis allé aux variables d'environnement système et j'ai créé une variable système 'HOME' et l'ai mise dans un répertoire contenant le fichier .gitconfig dont j'avais besoin. et maintenant le processus fonctionne même lorsqu'il est lancé depuis le planificateur de tâches Windows.