On 2 February 2012 16:17, Leon Rosenberg <[email protected]> wrote: > Hello, > > I have following question, I don't quite understand how to solve > properly. I have 3 projects, A,B and C. > A depends on B and C, and B depends on C. > > A requires at least C version 1.06. However, after a while C got a new > feature which is now used in B. So in my situation A contains: > B version 2.0 > C version 1.0.6 > > pom of B (2.0) contains > C version 1.0.14 > > When I build A, I'd expect 1.0.14 of C to be included through the > dependency to B. However, the resulting war contains 1.0.6, which > cause B 2.0 to malfunction, because it expects 1.0.14 of C. > How can I resolve this issue, without manually version of C in the pom of A?
two solutions immediately present themselves: 1. Remove C as a dependency from A (transitive will pull it in) or 2. Make B depend on C [1.0.14,) Note for option #2, most people consider version ranges evil, as they can cause non-reproducible builds and only really work when people use the major.minor.patch 3 segment version numbers without qualifiers. I'd go with option 1. If B ever decides to remove its dep on C, then your build of A will immediately break to tell you ;-) > > regards > Leon > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
