Isti repozitorijum radi sa git clone u terminalu, a ne uspeva u aplikaciji koja koristi JGit. To je poređenje dve implementacije, a ne nužno ispravne i pokvarene kopije istog klijenta.

JGit 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 razumeju Git konfiguracionu datoteku.

Identifikujte aplikaciju koja ugrađuje JGit, njenu verziju i izabrani HTTP prenos. Aplikacija domaćin može pružiti postavke ili ponašanje izvan JGitovih samostalnih podrazumevanih vrednosti.

Zatim pregledajte Java proxy konfiguraciju vidljivu tom procesu. Za HTTP prenos zasnovan na URLConnection proverite JVM svojstva hosta i porta koja koristi. Svojstvo uneto u nepovezani terminal nakon pokretanja aplikacije ne može rekonfigurisati JVM koji radi. Izvorna Git operacija u IDE-u i njena JGit operacija takođe mogu koristiti različite putanje.

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

Korisno je pitanje „koji je proxy izabran za ovaj JGit zahtev?”, a ne „sadrži li moja Git konfiguracija proxy red?”. Uspeh izvornog Gita vredna je usporedba, ali ne odgovara na to pitanje specifično za implementaciju.

Povezani članci