Maven-proxyindstillinger til arbejds- og hjemmenetværk
Proxykonfiguration hører til i Mavens indstillinger. At vælge en indstillingsfil er en forudsigelig måde at skifte netværksmiljøer på.
Dit projekt ændrede sig ikke på toget hjem, men dets netværksrute gjorde. En proxyadresse, der virker på kontoret, kan være utilgængelig derhjemme. Det er en miljøindstilling, ikke en grund til at lægge din arbejdsgivers proxy i projektets POM.
Mavens indstillingsmodel placerer proxydefinitioner i sin øverste sektion proxies. Indstillingsprofiler giver ikke en anden vilkårlig kopi af den sektion. At tilføje et proxyformet XML-fragment under en profil gør det ikke til en understøttet netværksskiftemekanisme.
En ligetil mulighed er at vedligeholde godkendte indstillinger for hvert miljø og vælge den passende:
mvn --settings /path/to/settings-office.xml verify
Eksemplet vælger brugerindstillinger eksplicit. Brug den kommando og fil, der passer til buildet; det betyder ikke, at filen bør committes med legitimationsoplysninger.
Hold forskellene små
Noter hvilke indstillinger der faktisk varierer: aktiv proxy, bypass-værter, spejle og påkrævede serverkonti. En anden fil bør ikke stille fjerne en urelateret politik for repositories eller bruge en gammel adgangskode.
Kontroller eventuelle globale indstillinger, som stadig flettes med de valgte brugerindstillinger. En eksplicit fil gør inputtet synligt, men det betyder ikke, at Maven ikke har andre konfigurationskilder.
Automatisk skift kræver et rigtigt signal
Maven kan ikke udlede "kontor" af bærbarens placering i almindelig forstand. En automatisk ordning kræver en understøttet ekstern opdagelses- eller styringsmekanisme og et defineret svar, når den mekanisme ikke er tilgængelig.
Vær forsigtig med brede bypass-mønstre beregnet til at deaktivere proxyen derhjemme. De kan også påvirke interne destinationer eller skjule, hvilken rute en anmodning tog.
Til en første reparation, foretræk et synligt, eksplicit valg af indstillinger. Når det virker i begge miljøer, kan enhver automatisering gengive den kendte konfiguration i stedet for gentagne gange at omskrive projektets buildinstruktioner.