I'm surprised no one has commented. Since it's an important issue in my work or anyone that packages ears I would think. I'll comment below.
> 1. add a new scope called "application" that is exposed > as application dependencies Having a scope for these seems to be a better approach in my mind. The term "application" jars "ear libs" is what I use in day-to-day conversation. I believe the specification uses the term "bundled optional classes" and very likely why the dependency attribute is called "optional". I have no affinity to a particular name. > 2. modify the maven-ear-plugin to utilize application > dependencies (as found applicable by maven) and package them > into the bundled lib directory. So this realizes the benefit of promoting the attribute to a proper scope? Where are these dependencies declared? I think this question is the major sticking point. I've found that I need to build the J2EE parent, or ear project or war projects separately at times. I see two choices wrt where the dependencies are declared (maybe other ways exist) - 1) declare these dependencies in the parent project, 2) create a pom dependency aggregation project / a pattern described and debated on the mailing lists - I think some folks object to it but as the saying goes "a layer of indirection solves every IT problem". The solution in my opinion should allow both ways and in the end the dilemma is really about the build order. I think your solution is reasonable so long as the reactor (if it's even still called that) can determine the appropriate build order. > Are there any recommendations, thoughts or critics on the > problem and solution as I have proposed? I'm not a maven committer so those guys would have much better insight about the merit of the proposal and what it would mean exactly to the war and ear plugins and the latest changes in dependency resolution and build ordering. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
