Scott Stirling wrote: >>From what I managed to grasp out of using maven, the golden rule of maven >>based project development seems to be: >>IF YOUR PROJECT CAN PRODUCE A JAR (and that's more or less it) IT SHOULD. > > > LOL! I would add emphasis on *A*, as in *one*, jar. The POM assumes single > codebase components -- which leads to workarounds like two project.xmls at > the same level, as in (simple 2 codebase scenario): > secured-codebase-project.xml and non-secured-codebase-project.xml. Try to > produce two different jars from one component, in which case you'll likely > have a separate codebase for each jar for a variety of reasons. > > Many software projects are more complex than Jakarta Commons projects, but > that "Jakarta Commons style" (which are projects typically producing *one* > jar file) is currently where Maven shines best.
I see this problem from a bit different perspective. Most, if not any single project - multiple jars concerns can be solved by structuring the codebase corectly. Two sample scenarios: 1) project that generates API jar and implemenation jar Move the interfaces that consitutute the API into a package of their own. Make implementation package depend on the API package. Optionally create a master project for buiding both of the above using reactor, plus common POM for extending 2) project that generates server classes and client stubs All of the codebase resides in the server side project. Client side project depends on the server side project, and generates the stubs (be it RMI/JRMP, RMI/IIOP or WSDL with JAXRPC) from binary classes, and packages them into a client jar It's not that maven is really lacking anything, it just encourages different approach to codebase management that is currently used by many projects. I'm aware that restructuring may be not a feasible option for many of them, so Maven provides support for 'incorrect' codebase sturcturing to some extent. Over time this support may be further improved, but this is not a high priority goal. R. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]