OT: Is there such a thing as a jar that is too big?

For some reason, we have went to one large jar for our home-grown common
libraries. The jar contains 4,286 files and it roughly 45MB.

Is this a good thing or a bad thing?

Norris Shelton
Sun Certified Java Programmer

1 comment
Comment actions Permalink

Pray god no one in marketting gets the bright idea "Let's ship this application as an applet".

More seriously, the jar is about the smallest practical unit of release in Java. If you're following a minimally decent release strategy (admittedly a large caveat), that means you would have to run through a full QA cycle for all 4000 odd classes on every release of a the jar. You can alleviate that with suitable version control automation, but it's difficult, and I'm guessing you probably aren't. Even with intense automated testing, this level of QA effort seems borderline practical for a batch of common libraries that are probably changing frequently.

Breaking the big jar up into smaller jars makes the cost of release much cheaper, at the cost of configuration management headaches ("Subproject1.jar requires subproject2.jar, but which version? Hope it's not one that conflicts with subproject3.jar!"). Normally, that's a tradeoff worth making.

Your mileage may vary. Contents may have settled in handling. All models were over 18 at time of filming.

--Dave Griffith


Please sign in to leave a comment.