January 15, 2003

Dependency Hell

Just saw this on Epesh's site:


One of my original goals for RSSLIbJ was to try to keep the reliance on external jars to a minimum, because it's very annoying to copy a jar file, deploy, run... copy a dependent jar file in, deploy, run... copy ANOTHER dependency in, deploy, run... copy YET ANOTHER dependency in, deploy, run... and oh crap, the dependency requires an older version of this OTHER dependency, which I need to have a newer version of. Even if you don't run into that last snag, it's annoying.


and I agree 100%. We had this problem in spades with Turbine which relies on just about every library under the sun, many of which aren't the released version. Plus it seemed that every developer would have a different version of each library as well, which just added to the fun. We solved the problem by building a dependency mechanism into Maven that downloads specific versions of each jar to use while building a project (one of the driving reasons for building Maven in the first place was to solve this problem), but Java really needs a standard dependency resolution mechanism. I've got the start of something that should solve most of the problems sitting on my hard drive. Perhaps I should finish it up and get _something_ that works out there. (Note: JJAR _doesn't_ work, and I don't like it's monolithic descriptors.) I should be able to hook it in quite easily to Maven now that the massive refactoring is done...

Posted by kschrader at January 15, 2003 02:46 PM | TrackBack
Comments
Post a comment