sbt kann das Netzwerk brauchen, bevor Ihre Build-Definition etwas Nützliches getan hat. Sein Launcher muss Komponenten beschaffen, und der Build kann später über zusätzliche Bibliotheken Repositories kontaktieren. Eine im Task versteckte Proxy-Einstellung kann für den ersten Download zu spät kommen.

Beginnen Sie mit der JVM, die sbt tatsächlich ausführt. Für einen Launcher, der die .jvmopts des Projekts liest, können grundlegende Endpoint-Eigenschaften so aussehen:

-Dhttp.proxyHost=proxy.example.net
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxy.example.net
-Dhttps.proxyPort=8080

Diese Werte trennen einen Hostnamen und einen Port; sie sind keine vollständigen Proxy-URLs. Für erlaubte Downloads aus öffentlichen Repositories liefert die HTTP-Proxy-Liste Kandidatenwerte für diese Felder. Ein HTTPS-Repository ist weiterhin über einen HTTP-Proxy mit CONNECT erreichbar.

Achten Sie darauf, welcher Download fehlgeschlagen ist

Launcher-Bootstrap, Build-Tool-Komponenten, Plugins und Abhängigkeiten verwenden nicht zwangsläufig dieselbe Konfigurationsschicht. Ermitteln Sie die fehlgeschlagene URL und die Phase, bevor Sie Repository-Deklarationen bearbeiten.

Die Repository-Auswahl beantwortet, woher Artefakte bezogen werden. Die Proxy-Konfiguration beantwortet, wie ein Netzwerkclient diesen Endpoint erreicht. Ein Repository durch einen internen Spiegel zu ersetzen, kann eine eigene unterstützte Option sein, sie konfiguriert aber keinen Netzwerkproxy für alle anderen Ziele.

Die Proxy-Authentifizierung ist eine weitere Prüfung. Gehen Sie nicht davon aus, dass jeder Java-Downloader eine beliebige Eigenschaft proxyUser als unterstützten Anmeldemechanismus behandelt. Verwenden Sie die Authentifizierungsregelung, die für den installierten Launcher und den relevanten Resolver dokumentiert ist.

Prüfen Sie schließlich die tatsächlich wirksame Launcher-Umgebung, statt eine Variable aus einer Anleitung für einen anderen Runner zu kopieren. Ein DNS-Fehler, ein nicht verfügbares Repository und eine abgelehnte Proxy-Anmeldung können alle während der Abhängigkeitsauflösung auftreten und erfordern doch sehr unterschiedliche Korrekturen.

Ähnliche Artikel