Proxy-Einstellungen in ShrinkWraps Maven Resolver laden
Laden Sie die Proxy-Konfiguration in den Resolver, der Testabhängigkeiten herunterlädt, statt sich auf einen separaten Maven-Aufruf zu verlassen.
import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem;
MavenResolverSystem resolver = Maven.configureResolver()
.fromFile("/path/to/test-settings.xml");
Verwenden Sie diesen resolver für nachfolgende Resolve-Vorgänge. Wenn Sie ihn erzeugen und dann einen anderen Standard-Resolver aufrufen, bleibt die Einstellung am ungenutzten Objekt. Ein Arquillian-Test kann diese Repository-Sitzung erstellen, nachdem Maven den Testprozess bereits gestartet hat, sodass ein früherer Download über die Kommandozeile seine Eingaben nicht festlegt.
Die ausgewählte Datei verwendet die Maven-Settings-Syntax. Innerhalb von settings ist eine minimale Route:
<proxies>
<proxy>
<id>test-network</id>
<active>true</active>
<protocol>http</protocol>
<host>proxy.example.net</host>
<port>8080</port>
<nonProxyHosts>localhost|*.internal.example.net</nonProxyHosts>
</proxy>
</proxies>
Ersetzen Sie Pfad, Endpunkt und die beabsichtigten Ausnahmen. Der Host hat kein URL-Präfix. Wenn dieser Test-Resolver über einen nicht authentifizierten öffentlichen Vermittler ein öffentliches Repository erreichen darf, liefert die HTTP-Proxy-Liste Kandidatenwerte für Host/Port; prüfen Sie den Zugriff auf das tatsächliche Repository. Stellen Sie die Proxy-Authentifizierung über unterstützte Einstellungen bereit; Repository-/Server-Konten authentifizieren einen anderen Dienst.
Die gepflegte Implementierung lädt aktive Proxy-Einträge aus dem Settings-Modell in den Selektor der Repository-Sitzung. Standardmäßig werden auch Benutzer-/globale Einstellungsorte berücksichtigt; eine explizite Datei hilft, wenn eine IDE, ein Build-Agent oder ein Test-Runner ein anderes Home-Verzeichnis hat.
Prüfen Sie den Einstellungspfad, die Repository-URL und ob das Artefakt tatsächlich heruntergeladen werden musste. Ein vorgewärmtes Repository kann eine fehlende Route verbergen. Der Resolver beschafft Deployment-Artefakte; ein vom Test genutzter HTTP-Client stellt eine andere Anfrage und benötigt seine eigene Konfiguration. Für Maven-Surefire-Tests, deren HTTP-Client JVM-Proxy-Eigenschaften beachtet, konfigurieren Sie die Proxy-Eingaben der Test-JVM.