Maven moet de proxy-plug-in bereiken voordat het die kan uitvoeren
Begrijp het bootstrap-probleem wanneer een Maven-plug-in belooft een proxy te ontdekken, maar zijn eigen artefacten niet kunnen worden opgelost.
Een automatische proxy-plug-in klinkt ideaal voor een laptop die tussen netwerken beweegt. Er is één ongemakkelijk eerste verzoek: Maven heeft mogelijk de proxy nodig om de plug-in zelf op te halen.
Een plug-in-doel draait pas nadat Maven de implementatie en de vereiste artefacten kan oplossen en laden. Proxy-detectie binnen die implementatie kan een download niet helpen die mislukt voordat de implementatie start. Volledig gekwalificeerde plug-in-coördinaten kunnen een prefix-zoekopdracht vermijden; ze laten het plug-in-artefact echter niet verschijnen in een lege lokale repository.
De oude Autoproxy Maven-plug-in illustreert het onderscheid. De README beschrijft proxy-detectie via proxy-vole, maar beschrijft ook het lokaal installeren van de plug-in voordat het doel wordt aangeroepen. Beschouw dat als een voorwaarde van dat specifieke ontwerp, niet als bewijs dat Maven universeel de PAC-instellingen van de browser leest.
Geef de eerste resolutie een expliciete route
Voor een netwerk waar repository-toegang een HTTP-proxy vereist, configureert u de juiste actieve proxy in de Maven-instellingen die dat aanroep gebruikt. Voor een toegestane bootstrap uit een openbare repository kiest u een HTTP-kandidaat uit de HTTP-proxylijst. Een goedgekeurde interne repository die zonder de externe route bereikbaar is, kan het initiële toegangsprobleem ook oplossen. Beide benaderingen moeten de plug-in en zijn afhankelijkheden dekken, niet alleen die van de applicatie.
Een eerder gevulde lokale repository kan de bootstrap-vereiste verbergen. Succes op de laptop van een ontwikkelaar bewijst niet dat een nieuw CI-account dezelfde build kan starten. Kijk naar het mislukte artefact en de fase voordat u de detectielogica van de plug-in wijzigt.
Nadat de plug-in is geladen, wordt een latere afhankelijkheidsfout een aparte vraag: of de gedetecteerde route correct is en of het actieve Maven-transport de resulterende instellingen gebruikt. Houd die twee faalpunten gescheiden bij het beslissen of automatische detectie de moeite waard is om te behouden.