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]

Reply via email to