Mi sono finalmente abituato a non avere alcuna dipendenza dichiarata non dichiarata o non utilizzata nei miei progetti. Anche se è molto difficile tenere traccia delle dipendenze di runtime/test dichiarate non utilizzate elencate nella dipendenza: analizzare ... È sufficiente scrivere loro commenti in pom.xml o in altro modo gestirli per sapere che sono necessari per il test o il runtime.In che modo Maven risolve i conflitti di versione delle dipendenze transitive? strategia di conquista più vicina
Ma il modo di risolvere il conflitto di versione non è ancora chiaro. Riguardo alle dipendenze transitive.
Come funziona esattamente la strategia delle vittorie più vicine? Quando una versione viene utilizzata su un'altra versione?
Se si dichiara la dipendenza non dichiarato Utilizzato con un numero di versione - si vince sempre
Se uno non specifica versione di dipendenza in modo esplicito, Maven non può risolvere qualsiasi versione conflitti che possono sorgere riguardo a questa dipendenza (strano, ma scritto here)
Se non si dichiara dipendenza usata non dichiarata, si sceglie una dipendenza transitiva dal livello più vicino (strategia vince più vicino) e se il conflitto è sullo stesso livello, in qualche modo decide B Versione ra A rispetto alla versione B ... Forse il primo si tratta di quando si elaborano le depenencies vince
Se si desidera definire una dipendenza per il test, assegnarlo solo tramite scope che funziona anche per il runtime. – khmarbaise