> No forced separation of concerns - Break the jars up and you are forced to > separate out the tasks so that there is not a mass of interwoven > dependencies. It will soon be obvious (ie when jar 1 depends on jar 2 and > vice versa) where you have too tight a coupling and need to do some work. > We did that over at Avalon and it helped identify a lot of problems that > were not obvious before hand. > > I agree 100% with this point. At my job, I had worked to get development to use jars to define boundaries of responsibility and use but was ultimately overruled (or really just ignored), and cross-coupling and a really broken architecture resulted. You aren't prevented from having a build process that combines a half dozen jars into "ant-all.jar" for the end end-users (as contrasted with developers).
marvin
