Isti repozitorij radi s git clone u terminalu, a ne uspijeva u aplikaciji koja koristi JGit. To je poređenje dviju implementacija, a ne nužno radne i pokvarene kopije istog klijenta.

JGitova referenca za konfiguraciju kaže da konfiguracija proxyja koristi standardne Java mehanizme preko java.net.ProxySelector. Ne pretpostavljajte da je svaka HTTP opcija izvornog Gita implementirana samo zato što oba klijenta razumiju Git konfiguracijsku datoteku.

Identificirajte aplikaciju koja ugrađuje JGit, njezinu verziju i odabrani HTTP prijenos. Aplikacija domaćin može pružiti postavke ili ponašanje izvan JGitovih samostalnih zadanih vrijednosti.

Zatim pregledajte Java proxy konfiguraciju vidljivu tom procesu. Za HTTP prijenos temeljen na URLConnection provjerite JVM svojstva hosta i porta koja koristi. Svojstvo uneseno u nepovezani terminal nakon pokretanja aplikacije ne može rekonfigurirati JVM koji radi. Izvorna Git operacija u IDE-u i njegova JGit operacija također mogu koristiti različite putanje.

Držite proxy autentifikaciju odvojeno od odabira rute. Java proxy svojstva koja označavaju host i port ne implementiraju automatski shemu proxy lozinke. Koristite podržani mehanizam autentifikacije aplikacije koja ugrađuje JGit.

Korisno je pitanje “koji je proxy odabran za ovaj JGit zahtjev?”, a ne “sadrži li moja Git konfiguracija proxy redak?”. Uspjeh izvornog Gita vrijedna je usporedba, ali ne odgovara na to pitanje specifično za implementaciju.

Povezani članci