El mismo repositorio funciona con git clone en una terminal y falla en una aplicación que usa JGit. Es una comparación entre dos implementaciones, no necesariamente entre una copia que funciona y otra rota del mismo cliente.

La referencia de configuración de JGit indica que la configuración del proxy utiliza los mecanismos estándar de Java mediante java.net.ProxySelector. No supongas que todas las opciones HTTP de Git nativo están implementadas solo porque ambos clientes entienden un archivo de configuración Git.

Identifica la aplicación que integra JGit, su versión y el transporte HTTP seleccionado. La aplicación anfitriona puede ofrecer ajustes o comportamientos más allá de los valores predeterminados autónomos de JGit.

Después, revisa la configuración de proxy de Java visible para ese proceso. Para un transporte HTTP basado en URLConnection, comprueba las propiedades de host y puerto de la JVM que consume. Una propiedad introducida en una terminal no relacionada después de iniciar la aplicación no puede reconfigurar la JVM en ejecución. La operación Git nativa de un IDE y su operación JGit también pueden usar rutas diferentes.

Mantén la autenticación del proxy separada de la selección de ruta. Las propiedades de proxy de Java que identifican un host y un puerto no implementan automáticamente un esquema de contraseña de proxy. Usa el mecanismo de autenticación compatible de la aplicación anfitriona.

La pregunta útil es «¿qué proxy eligió esta solicitud JGit?» y no «¿mi configuración Git contiene una línea de proxy?». Un éxito de Git nativo es una comparación valiosa, pero no responde a esa pregunta específica de la implementación.

Artículos relacionados