Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #26017

Re: Dependency resolution in Java builds

From Lew <noone@lewscanon.com>
Newsgroups comp.lang.java.programmer
Subject Re: Dependency resolution in Java builds
Date 2011-02-10 19:08 -0500
Organization albasani.net
Message-ID <ij1uk1$iir$1@news.albasani.net> (permalink)
References (1 earlier) <b074deac-dae8-4afe-895c-496eaa3fb5eb@x4g2000prf.googlegroups.com> <iit0p2$ha4$1@news.albasani.net> <alpine.DEB.1.10.1102092338120.18846@urchin.earth.li> <ij0o10$o9o$1@news.albasani.net> <ij0s1o$8n8$1@news.onet.pl>

Show all headers | View raw


Lew wrote:
>> On a recent project with Maven builds, we had a parent build ("foomain")
>> and several subsidiary modules ("foofrontend", "foologic",
>> "foopersistence", ...).
>>    Historically different versions of the same frameworks were specified
>>    for
>> the different modules.  Yet when you pulled the dependencies into the
>> "foomain" pom.xml in common the build broke.  Turns out some of the
>> dependencies transitively depend on the same libraries, but different
>> versions also, some of which are transitive dependencies for other
>> stuff, also different versions.

Michal Kleczek wrote:
> So it wasn't really Maven problem but dependency management problem.
>  From my experience Maven just makes dependency management issues explicit
> and visible. I would argue it is a good thing.

My experience is that Maven quietly ignores your desire to keep things in the 
local repository and messes up your dependencies.  I would argue that 
invisibly making changes is NOT a good thing.

Part of the problem I described is due to Maven's quiet retrieval of different 
transitive dependencies.  If it had instead crashed the build with a message 
about an unresolved dependency, it would have been better.  That certainly was 
not a good thing, and it's laid right at Maven's feet.

Sometimes even a bad tool can be used effectively, if a person is aware of all 
the kinks and quirks and is willing to take the effort to work around them. 
Such tool's effectiveness under those conditions is not evidence of its goodness.

Maven sucks.

-- 
Lew
Ceci n'est pas une fenĂȘtre.
.___________.
|###] | [###|
|##/  | *\##|
|#/ * |   \#|
|#----|----#|
||    |  * ||
|o *  |    o|
|_____|_____|
|===========|

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Re: Dependency resolution in Java builds Joshua Maurice <joshuamaurice@gmail.com> - 2011-02-08 17:28 -0800
  Re: Dependency resolution in Java builds Michal Kleczek <kleku75@gmail.com> - 2011-02-10 14:17 +0000
    Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-10 19:08 -0500
  Re: Dependency resolution in Java builds Joshua Maurice <joshuamaurice@gmail.com> - 2011-02-09 14:59 -0800
  Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-09 08:02 -0500
  Re: Dependency resolution in Java builds Markus Gessner <nospam@nospam.com> - 2011-02-09 08:06 +0100
  Re: Dependency resolution in Java builds Tom Anderson <twic@urchin.earth.li> - 2011-02-09 23:56 +0000
    Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-10 08:09 -0500
  Re: Dependency resolution in Java builds Lew <noone@lewscanon.com> - 2011-02-08 22:14 -0500
  Re: Dependency resolution in Java builds Tom Anderson <twic@urchin.earth.li> - 2011-02-09 23:28 +0000

csiph-web