On Sat, Oct 16, 2010 at 10:52 AM, sebb <seb...@gmail.com> wrote:
>
> Why? I don't see the point.
>

We had this discussion long ago.  Let me try to summarize for you.
Suppose Project X wants to use commons foo version 2.  Suppose also
that Project X uses Project Y as a dependency and Project Y uses
commons foo version 1 ("jar hell").  Now, foo version 1 and 2 are
binary incompatible.  If we leave them with the same group/artifact
and with different versions, then Maven will only allow foo version 2
on the classpath as a dependency because it is the most recent.  So,
the code in Project Y won't work.  However, if foo version 2 changes
its artifact id and changes its package name, the code in Project X
can code against org.apache.commons.foo2 and the code in Project Y can
code against org.apache.commons.foo and both will stay happy.  Also,
Maven will allow both on the classpath at the same time since they're
not the same artifact id.

Note: yes I know this problem goes away with OSGi, but not everyone is
using OSGi, nor should we require them to do so.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to