Maven Surefire-proxyinstellingen voor HTTP-testverzoeken
De repositoryproxy van Maven configureert geen willekeurige HTTP-clients in een test-JVM. Volg en configureer het verzoek dat de test doet.
De repositoryproxy van Maven kan afhankelijkheden ophalen zonder een HTTP-verzoek te configureren dat een test doet. Configureer de client in de test-JVM.
Als die client de HTTPS-proxyeigenschappen van Java respecteert, plaats dit fragment dan in het configuration-element van de betreffende Surefire-plug-in:
<systemPropertyVariables>
<https.proxyHost>proxy.example</https.proxyHost>
<https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>Vervang het voorbeeld-eindpunt. Voor tests tegen openbare bestemmingen waar openbare tussenpersonen zijn toegestaan, biedt de HTTP-proxylijst host- en poortkandidaten. Host en poort zijn afzonderlijke waarden; kies de eigenschapsfamilie die past bij het bestemmingsschema en de bibliotheek. Een client die met een expliciet proxyobject is gebouwd, heeft daarentegen zijn eigen configuratie-interface nodig.
Surefire draait tests meestal in een geforkte JVM. Niet elke optie om Maven te starten bereikt dat proces. Het bij het opstarten gevoelige opsporen van de systeemproxy heeft bij het opstarten zijn optie op de test-JVM nodig. Zelfs wanneer tests een proces delen, kan een bibliotheek de standaard proxyeigenschappen van Java negeren.
Houd interne directe bestemmingen gedekt door een passende bypass-regel, proxy-authenticatie gescheiden van bestemmingsauthenticatie, en certificaatverificatie ingeschakeld. Forking uitschakelen verandert hoe tests worden uitgevoerd; een afhankelijkheidsspiegel wijzigen verandert de repository-resolutie. Geen van beide levert een ontbrekende testclient-route. Alle systeemeigenschappen kopiëren kan ook geheimen blootleggen.
Registreer bij een resterende fout de test-JVM, de HTTP-bibliotheek, het doel, de gekozen proxy en de eerste mislukte stap. Die observaties wijzen op de testconfiguratie terwijl de werkende repository-downloads begrijpelijk blijven.