Setări de proxy Maven pentru rețele de birou și de acasă
Configurarea proxy aparține setărilor Maven. Alegerea unui fișier de setări este o modalitate previzibilă de a schimba mediile de rețea.
Proiectul tău nu s-a schimbat în trenul spre casă, dar ruta lui de rețea s-a schimbat. O adresă de proxy care funcționează la birou poate fi inaccesibilă acasă. Aceasta este o setare de mediu, nu un motiv pentru a pune proxy-ul angajatorului tău în POM-ul proiectului.
Modelul de setări al Maven plasează definițiile de proxy în secțiunea sa de nivel superior proxies. Profilurile de setări nu oferă o a doua copie arbitrară a acelei secțiuni. Adăugarea unui fragment XML în formă de proxy sub un profil nu îl transformă într-un mecanism de comutare a rețelei acceptat.
O opțiune simplă este să păstrezi setări aprobate pentru fiecare mediu și să o alegi pe cea potrivită:
mvn --settings /path/to/settings-office.xml verify
Exemplul selectează explicit setările de utilizator. Folosește comanda și fișierul potrivite pentru build; asta nu înseamnă că fișierul ar trebui să fie commitat cu credențiale.
Păstrează diferențele mici
Notează ce setări variază de fapt: proxy activ, gazde ocolite, oglinzi și conturi de server necesare. Un al doilea fișier nu ar trebui să elimine în tăcere o politică de depozit nelegată sau să folosească o parolă veche.
Verifică orice setări globale care încă sunt fuzionate cu setările de utilizator selectate. Un fișier explicit face intrarea vizibilă, dar nu implică faptul că Maven nu are alte surse de configurare.
Comutarea automată necesită un semnal real
Maven nu poate deduce „birou” din locația laptopului în sensul obișnuit. Un aranjament automat necesită un mecanism extern de descoperire sau gestionare acceptat și un răspuns definit când acel mecanism nu este disponibil.
Fii atent la modele largi de ocolire destinate dezactivării proxy-ului acasă. Ele pot afecta și destinații interne sau pot ascunde ce rută a urmat o cerere.
Pentru o primă remediere, preferă o selecție de setări vizibilă și explicită. Odată ce funcționează în ambele medii, orice automatizare poate reproduce acea configurație cunoscută în loc să rescrie în mod repetat instrucțiunile de build ale proiectului.