Proxy-instellingen laden in het Maven Resolver van ShrinkWrap
Laad de proxyconfiguratie in de resolver die testafhankelijkheden downloadt in plaats van te vertrouwen op een aparte Maven-aanroep.
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");
Gebruik deze resolver voor volgende resolve-bewerkingen. Als je hem bouwt en daarna een andere standaardresolver aanroept, blijft de instelling op het ongebruikte object. Een Arquillian-test kan deze repositorysessie aanmaken nadat Maven het testproces al heeft gestart, dus een eerdere download vanaf de opdrachtregel legt de invoer niet vast.
Het geselecteerde bestand gebruikt de syntaxis van Maven-instellingen. Binnen settings is een 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>
Vervang het pad, het eindpunt en de bedoelde uitzonderingen. De host heeft geen URL-voorvoegsel. Als deze testresolver een openbare repository mag bereiken via een niet-geauthenticeerde openbare tussenpersoon, levert de HTTP-proxylijst kandidaatwaarden voor host/poort; controleer de toegang tot de werkelijke repository. Geef proxyauthenticatie via ondersteunde instellingen; repository-/serveraccounts authenticeren een andere dienst.
De onderhouden implementatie laadt actieve proxy-items uit het instellingenmodel in de selector van de repositorysessie. Standaardwaarden houden ook rekening met gebruikers-/globale instellingslocaties; een expliciet bestand helpt wanneer een IDE, buildagent of testrunner een andere thuismap heeft.
Controleer het instellingenpad, de repository-URL en of het artefact echt gedownload moest worden. Een opgewarmde repository kan een ontbrekende route verbergen. De resolver haalt deployment-artefacten op; een HTTP-client die de test gebruikt, doet een ander verzoek en heeft zijn eigen configuratie nodig. Voor Maven Surefire-tests waarvan de HTTP-client JVM-proxyeigenschappen respecteert, configureer je de proxy-invoer van de test-JVM.