Det samme lager virker med git clone i en terminal og fejler i et program, der bruger JGit. Det er en sammenligning mellem to implementeringer, ikke nødvendigvis mellem en fungerende og en ødelagt kopi af samme klient.

JGit-konfigurationsreferencen siger, at proxykonfiguration bruger Javas standardmekanismer gennem java.net.ProxySelector. Antag ikke, at enhver HTTP-indstilling i native Git er implementeret, blot fordi begge klienter forstår en Git-konfigurationsfil.

Identificer det program, der indlejrer JGit, dets version og den valgte HTTP-transport. Værtsprogrammet kan levere indstillinger eller adfærd ud over JGit-standarden.

Undersøg derefter den Java-proxykonfiguration, der er synlig for processen. For en URLConnection-baseret HTTP-transport skal du kontrollere de JVM-værts- og portegenskaber, den bruger. En egenskab, der indtastes i en urelateret terminal, efter at programmet er startet, kan ikke omkonfigurere den kørende JVM. En IDE's native Git-handling og dens JGit-handling kan også bruge forskellige veje.

Hold proxyautentificering adskilt fra rutvalg. Java-proxyegenskaber, der angiver vært og port, implementerer ikke automatisk et proxyadgangskodeskema. Brug værtsprogrammets understøttede godkendelsesmekanisme.

Det nyttige spørgsmål er “hvilken proxy valgte denne JGit-anmodning?”, ikke “indeholder min Git-konfiguration en proxylinje?”. En native Git-succes er en værdifuld sammenligning, men den besvarer ikke det implementationsspecifikke spørgsmål.

Relaterede artikler