<div dir="ltr"><div><div><div><div>Köszi a válaszokat!<br></div>Az intervallum megadása nem igazán jó nekünk. Ez egy webapp, egy termék, amibe bele vannak csomagolva külső függőség jar-ok. Nem intervallumot akarok megadni külső függőségre, hanem konkrét verziót. Nem akarom hogy a Maven döntse el, hogy melyik verziót használja az intervallumból.<br>
<br>Ez alapján világos, hogy legésszerűbb megadni a tranzitív dependenciákat is explicit. (Keresem hozzá az írott szakirodalmat, de ha van kéznél linketek azt szívesen venném.)<br><br></div>A teszt vs runtime dologról van valami tapasztalatototk? (Tesztelésnél más verziókat használhat a Maven egyesek szerint.)<br>
</div>Enforcer plugin-t használtok vagy akkor az már nem is kell, ha mvn dependency:analyze -t használok?<br></div>Viktor<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/11/8 István Viczián <span dir="ltr">&lt;<a href="mailto:viczian.istvan@gmail.com" target="_blank">viczian.istvan@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Szia,<br>
<br>
Nem tudom, hogy jól értem-e, de leírom, amit értek. :)<br>
A Maven mindenképpen azt mondja, hogy amit használsz a projektben, az<br>
EXPLICIT, első szinten sorold fel! Ha hivatkozol B-re, az hivatkozik<br>
C-re, de használod a C-t, és kiadod a<br>
<br>
mvn dependency:analyze<br>
<br>
Akkor mondja: &quot;Used undeclared dependencies found:&quot; a C-re.<br>
<br>
Minden könyv azt mondja, hogy ezeket meg kell szüntetni, azaz explicit<br>
add meg a C-t. Feltételezem ezért van a &quot;nearest definition&quot;<br>
algoritmus is.<br>
<br>
<a href="http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html" target="_blank">http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html</a><br>
<br>
Aztán ott van a &quot;Unused declared dependencies found:&quot; rész is, sajnos<br>
itt a reflection-nel felhúzott cuccokat nem találja meg, tipikusan a<br>
Hibernate-et pl., ha JPA API-n keresztül használod.<br>
<br>
Szóval én ezt szoktam lefuttatni bizonyos időközönként, és megfixelni,<br>
amit ír, hogy ne legyen baj.<br>
<br>
És igen, ahogy Péter is mondta, az exclude is a barátod. :)<br>
<br>
Üdv,<br>
<br>
--<br>
Viczián István<br>
<br>
<br>
Tamás Viktor &lt;<a href="mailto:viktor.tamas@gmail.com">viktor.tamas@gmail.com</a>&gt; írta (2013. november 8. 9:41):<br>
<div><div class="h5">&gt; Sziasztok,<br>
&gt; talán találkoztatok már olyan jelenséggel Maven projekteknél, hogy egy<br>
&gt; függőség verziójának emelésénél a tranzitív függőségek is változnak és<br>
&gt; esetleg konfliktus lép fel. Ez fordítási vagy futási idejű hibákat is<br>
&gt; eredményezhet.<br>
&gt;<br>
&gt; Tudtok bevett technikákat ennek a kezelésére? Pontosan akarom rögzíteni,<br>
&gt; hogy a projekt milyen verziójú függőségeket használ.<br>
&gt; Van az enforcer plugin, ami eltöri a buildet ha verziókonfliktust észlel.<br>
&gt; Meg lehet adni a függőségek verzióját így: &lt;version&gt;[1.2.3]&lt;/version&gt;,<br>
&gt; innentől kezdve a Maven mindenképpen az 1.2.3-as verziót probálja használni.<br>
&gt; Eltöri a build-et ha nem sikerül ezt használni.<br>
&gt; Meg lehet adni explicit a tranzitív függőségeket, lehet nyisszantgatni<br>
&gt; exclude-dal a tranzitív függőségeket, szóval van mozgástér, csak azt nem<br>
&gt; tudom melyik a jó irány.<br>
&gt; Van valami bevett gyakorlatotok erre?<br>
&gt;<br>
&gt; Hallottam olyanról is, hogy bizonyos esetekben a unit tesztek nem ugyanolyan<br>
&gt; verziójú függőségekkel futnak, mint amik végül bekerülnek a build-be. Ez nem<br>
&gt; túl egészséges. Ezt el tudom képzelni, mert test-scope-pal behozhatunk olyan<br>
&gt; függőségeket, ami elmozdítja a tranzitív függőségek verzióit. De<br>
&gt; megerősíteni nem tudom. Találkoztatok már ilyennel?<br>
&gt;<br>
&gt; Üdv,<br>
&gt; V<br>
&gt;<br>
</div></div>&gt; _______________________________________________<br>
&gt; Javalist mailing list<br>
&gt; <a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>
&gt; <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
&gt;<br>
_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
</blockquote></div><br></div>