i quite confused how maven handle transitive dependencies , how write classpath.
say if have 2 paths e (a,b,c,d,e ejb):
1. a<---b<---e (e dependent(comile) on b dependent on a)
2. a<---c<---d<---e (all dependencies compile dependencies)
question is: how e built, , artifacts in e's classpath(meta-inf).
thanks lot!
maven use "nearest definition" in determining version of dependency e
use in build. official maven documentation:
"nearest definition" means version used closest 1 project in tree of dependencies, eg. if dependencies a, b, , c defined -> b -> c -> d 2.0 , -> e -> d 1.0, d 1.0 used when building because path d through e shorter. explicitly add dependency d 2.0 in force use of d 2.0
in example:
1. <--- b <--- e 1.0 2. <--- c <--- d <--- e 2.0
the 1.0
version of dependency e
used, because when building a
path shorter version.
Comments
Post a Comment