[Javalist] maven függőség verziók rögzítése

István Viczián viczian.istvan at gmail.com
2013. Nov. 8., P, 11:28:09 CET


Szia,

Nem tudom, hogy jól értem-e, de leírom, amit értek. :)
A Maven mindenképpen azt mondja, hogy amit használsz a projektben, az
EXPLICIT, első szinten sorold fel! Ha hivatkozol B-re, az hivatkozik
C-re, de használod a C-t, és kiadod a

mvn dependency:analyze

Akkor mondja: "Used undeclared dependencies found:" a C-re.

Minden könyv azt mondja, hogy ezeket meg kell szüntetni, azaz explicit
add meg a C-t. Feltételezem ezért van a "nearest definition"
algoritmus is.

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

Aztán ott van a "Unused declared dependencies found:" rész is, sajnos
itt a reflection-nel felhúzott cuccokat nem találja meg, tipikusan a
Hibernate-et pl., ha JPA API-n keresztül használod.

Szóval én ezt szoktam lefuttatni bizonyos időközönként, és megfixelni,
amit ír, hogy ne legyen baj.

És igen, ahogy Péter is mondta, az exclude is a barátod. :)

Üdv,

--
Viczián István


Tamás Viktor <viktor.tamas at gmail.com> írta (2013. november 8. 9:41):
> Sziasztok,
> 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.
>
> 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.
> Van az enforcer plugin, ami eltöri a buildet ha verziókonfliktust észlel.
> 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.
> 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.
> Van valami bevett gyakorlatotok erre?
>
> 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?
>
> Üdv,
> V
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>


További információk a(z) Javalist levelezőlistáról