Maven-Surefire-Proxy-Einstellungen für HTTP-Testanfragen
Der Repository-Proxy von Maven konfiguriert keine beliebigen HTTP-Clients innerhalb einer Test-JVM. Verfolgen und konfigurieren Sie die Anfrage, die der Test stellt.
Der Repository-Proxy von Maven kann Abhängigkeiten abrufen, ohne eine HTTP-Anfrage zu konfigurieren, die ein Test stellt. Konfigurieren Sie den Client in der Test-JVM.
Wenn dieser Client die HTTPS-Proxy-Eigenschaften von Java berücksichtigt, platzieren Sie dieses Fragment im configuration-Element des zuständigen Surefire-Plugins:
<systemPropertyVariables>
<https.proxyHost>proxy.example</https.proxyHost>
<https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>Ersetzen Sie den Beispiel-Endpunkt. Für Tests gegen öffentliche Ziele, bei denen öffentliche Vermittler zulässig sind, bietet die HTTP-Proxy-Liste Host- und Port-Kandidaten. Host und Port sind getrennte Werte; wählen Sie die Eigenschaftsfamilie passend zum Zielschema und zur Bibliothek. Ein Client, der mit einem expliziten Proxy-Objekt erstellt wurde, benötigt dagegen seine eigene Konfigurationsschnittstelle.
Surefire führt Tests üblicherweise in einer geforkten JVM aus. Nicht jede Option zum Starten von Maven erreicht diesen Prozess. Die startempfindliche Erkennung von System-Proxys benötigt ihre Option beim Start in der Test-JVM. Selbst wenn Tests einen Prozess teilen, kann eine Bibliothek die Standard-Proxy-Eigenschaften von Java ignorieren.
Halten Sie interne direkte Ziele durch eine passende Bypass-Regel abgedeckt, trennen Sie die Proxy-Authentifizierung von der Ziel-Authentifizierung und lassen Sie die Zertifikatsprüfung aktiviert. Das Deaktivieren des Forkings ändert die Testausführung; das Ändern eines Abhängigkeits-Spiegels ändert die Repository-Auflösung. Keines von beiden liefert einen fehlenden Testclient-Pfad. Das Kopieren aller Systemeigenschaften kann zudem Geheimnisse offenlegen.
Bei einem verbleibenden Fehler erfassen Sie die Test-JVM, die HTTP-Bibliothek, das Ziel, den gewählten Proxy und die erste fehlgeschlagene Stufe. Diese Beobachtungen weisen auf die Testkonfiguration hin, während die funktionierenden Repository-Downloads verständlich bleiben.