Je project veranderde niet in de trein naar huis, maar zijn netwerkroute wel. Een proxyadres dat op kantoor werkt, is thuis misschien onbereikbaar. Dat is een omgevingsinstelling, geen reden om de proxy van je werkgever in de POM van het project te zetten.

Het instellingenmodel van Maven plaatst proxydefinities in de bovenste sectie proxies. Instellingenprofielen bieden geen tweede willekeurige kopie van die sectie. Een proxivormig XML-fragment onder een profiel toevoegen maakt er geen ondersteund netwerkwisselmechanisme van.

Een eenvoudige optie is goedgekeurde instellingen per omgeving te onderhouden en de juiste te kiezen:

mvn --settings /path/to/settings-office.xml verify

Het voorbeeld selecteert gebruikersinstellingen expliciet. Gebruik het commando en het bestand dat bij de build passen; dat betekent niet dat het bestand met inloggegevens moet worden gecommit.

Houd de verschillen klein

Noteer welke instellingen echt verschillen: actieve proxy, bypass-hosts, mirrors en vereiste serveraccounts. Een tweede bestand mag niet stilletjes een ongerelateerd repositorybeleid verwijderen of een oud wachtwoord gebruiken.

Controleer eventuele globale instellingen die nog met de gekozen gebruikersinstellingen worden samengevoegd. Een expliciet bestand maakt de invoer zichtbaar, maar het betekent niet dat Maven geen andere configuratiebronnen heeft.

Automatisch wisselen heeft een echt signaal nodig

Maven kan in de gewone zin geen "kantoor" afleiden uit de locatie van de laptop. Een automatische regeling heeft een ondersteund extern detectie- of beheermechanisme nodig en een gedefinieerde reactie wanneer dat mechanisme niet beschikbaar is.

Wees voorzichtig met brede bypass-patronen die bedoeld zijn om de proxy thuis uit te schakelen. Ze kunnen ook interne bestemmingen beïnvloeden of verbergen welke route een verzoek nam.

Geef voor een eerste reparatie de voorkeur aan een zichtbare, expliciete instellingenkeuze. Zodra die in beide omgevingen werkt, kan elke automatisering die bekende configuratie reproduceren in plaats van de buildinstructies van het project steeds opnieuw te herschrijven.

Gerelateerde artikelen