Изворни Git ради кроз прокси, али JGit не
JGit је Java имплементација са сопственим подржаним поставкама преноса. Унос http.proxy у изворном Gitu није универзална конфигурација за сваког Git клијента.
Исти репозиторијум ради са git clone у терминалу, а не успева у апликацији која користи JGit. То је поређење две имплементације, а не нужно исправне и покварене копије истог клијента.
JGit референца за конфигурацију каже да конфигурација проксија користи стандардне Java механизме преко java.net.ProxySelector. Не претпостављајте да је свака HTTP опција изворног Gita имплементирана само зато што оба клијента разумеју Git конфигурациону датотеку.
Идентификујте апликацију која уграђује JGit, њену верзију и изабрани HTTP пренос. Апликација домаћин може пружити поставке или понашање изван JGit-ових самосталних подразумеваних вредности.
Затим прегледајте Java прокси конфигурацију видљиву том процесу. За HTTP пренос заснован на URLConnection проверите JVM својства хоста и порта која користи. Својство унето у неповезани терминал након покретања апликације не може реконфигурисати JVM који ради. Изворна Git операција у IDE-у и њена JGit операција такође могу користити различите путање.
Држите прокси аутентификацију одвојено од избора руте. Java прокси својства која означавају хост и порт не имплементирају аутоматски шему прокси лозинке. Користите подржани механизам аутентификације апликације која уграђује JGit.
Корисно је питање „који је прокси изабран за овај JGit захтев?”, а не „садржи ли моја Git конфигурација прокси ред?”. Успех изворног Gita вредно је поређење, али не одговара на то питање специфично за имплементацију.