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]

Reply via email to