Maven muss das Proxy-Plugin erreichen, bevor es es ausführen kann
Verstehen Sie das Bootstrap-Problem, wenn ein Maven-Plugin das Erkennen eines Proxys verspricht, seine eigenen Artefakte aber nicht aufgelöst werden können.
Ein automatisches Proxy-Plugin klingt ideal für einen Laptop, der zwischen Netzwerken wechselt. Es gibt jedoch eine unangenehme erste Anfrage: Maven benötigt möglicherweise den Proxy, um das Plugin selbst zu beschaffen.
Ein Plugin-Ziel läuft erst, wenn Maven seine Implementierung und die erforderlichen Artefakte auflösen und laden kann. Die Proxy-Erkennung innerhalb dieser Implementierung hilft einem Download nicht, der scheitert, bevor die Implementierung startet. Vollständig qualifizierte Plugin-Koordinaten können einen Präfix-Lookup vermeiden; sie lassen das Plugin-Artefakt aber nicht in einem leeren lokalen Repository erscheinen.
Das alte Autoproxy-Maven-Plugin veranschaulicht den Unterschied. Seine README beschreibt die Proxy-Erkennung über proxy-vole, beschreibt aber auch die lokale Installation des Plugins vor dem Aufruf seines Ziels. Betrachten Sie das als Voraussetzung jenes speziellen Designs und nicht als Beleg dafür, dass Maven generell Browser-PAC-Einstellungen liest.
Geben Sie der ersten Auflösung eine explizite Route
Für ein Netzwerk, in dem der Repository-Zugriff einen HTTP-Proxy erfordert, konfigurieren Sie den passenden aktiven Proxy in den Maven-Einstellungen, die dieser Aufruf verwendet. Für einen erlaubten Bootstrap aus einem öffentlichen Repository wählen Sie einen HTTP-Kandidaten aus der HTTP-Proxy-Liste. Ein freigegebenes internes Repository, das ohne die externe Route erreichbar ist, kann das anfängliche Zugriffsproblem ebenfalls lösen. Beide Ansätze müssen das Plugin und seine Abhängigkeiten abdecken, nicht nur die Abhängigkeiten der Anwendung.
Ein zuvor gefülltes lokales Repository kann die Bootstrap-Anforderung verbergen. Ein Erfolg auf dem Laptop eines Entwicklers belegt nicht, dass ein frisches CI-Konto denselben Build starten kann. Sehen Sie sich das fehlschlagende Artefakt und die Phase an, bevor Sie die Erkennungslogik des Plugins ändern.
Nachdem das Plugin geladen ist, wird ein späterer Abhängigkeitsfehler zu einer separaten Frage: ob die erkannte Route korrekt ist und ob der aktive Maven-Transport die resultierenden Einstellungen verwendet. Halten Sie diese beiden Fehlerpunkte getrennt, wenn Sie entscheiden, ob die automatische Erkennung es wert ist, beibehalten zu werden.