<div dir="ltr"><div><div><div><div><div><div><div>Sziasztok,<br></div>talán találkoztatok már olyan jelenséggel Maven projekteknél, hogy egy függőség verziójának emelésénél a tranzitív függőségek is változnak és esetleg konfliktus lép fel. Ez fordítási vagy futási idejű hibákat is eredményezhet.<br>
<br></div>Tudtok bevett technikákat ennek a kezelésére? Pontosan akarom rögzíteni, hogy a projekt milyen verziójú függőségeket használ.<br></div>Van az enforcer plugin, ami eltöri a buildet ha verziókonfliktust észlel.<br>
</div>Meg lehet adni a függőségek verzióját így: <version>[1.2.3]</version>, innentől kezdve a Maven mindenképpen az 1.2.3-as verziót probálja használni. Eltöri a build-et ha nem sikerül ezt használni.<br></div>
<div>Meg lehet adni explicit a tranzitív függőségeket, lehet nyisszantgatni exclude-dal a tranzitív függőségeket, szóval van mozgástér, csak azt nem tudom melyik a jó irány.<br></div><div>Van valami bevett gyakorlatotok erre?<br>
</div><div><br></div>Hallottam olyanról is, hogy bizonyos esetekben a unit tesztek nem ugyanolyan verziójú függőségekkel futnak, mint amik végül bekerülnek a build-be. Ez nem túl egészséges. Ezt el tudom képzelni, mert test-scope-pal behozhatunk olyan függőségeket, ami elmozdítja a tranzitív függőségek verzióit. De megerősíteni nem tudom. Találkoztatok már ilyennel?<br>
<br></div>Üdv,<br></div>V<br></div>