maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Coy <st...@resolvesw.com>
Subject Re: How do I get Maven to package ejb dependencies in the ear?
Date Thu, 27 Aug 2009 00:26:52 GMT
Unfortunately you have encountered Maven's achilles heel (It's  
fantastic at nearly everything else). Managing ejb/ear dependencies is  
still basically a manual process.

In general, what I do is:
	
introduce a "pom" project that lists all the dependencies that you  
expect to be placed in the ear, aside from ejb-jars and war files.  
Maintaining this is a manual process.
have the ear project, war projects and ejb projects all depend upon  
this pom project
have the war and ejb projects depend upon other ejb projects as required
configure war and ejb plugins to generate manifest classpaths (unless  
building JEE5 ears, and using it's lib directory facility)

There's some discussion on this topic at <http://docs.codehaus.org/display/MAVENUSER/Solving+the+Skinny+Wars+problem

 >, with references to various JIRA entries regarding this. I  
discovered the technique above somewhere in there.

Following these steps is still way easier than maintaining ant build  
scripts, so we are still ahead there. But it's a tricky problem that  
may need coupling between the various ear/ejb/war plugins in order to  
be solved satisfactorily.

Cheers,

Steve C

On 27/08/2009, at 6:25 AM, David Sharp wrote:

> I'm new to Maven, and I am struggling to figure out how to get it to  
> do
> packaging in accordance with the standards at my work place.   
> Suppose I have
> an ejb called project-ejb, that depends on a library called  
> caf-3.1.0.jar.
> How do I setup my project to package this dependency at the ear  
> level rather
> than putting it into the ejb?  There may be other ejbs and webapps  
> in the
> ear that also depend on this jar.
>
> Should I specify it as a dependency of the ear with a scope of  
> compile, and
> then also specify it as a dependency of the ejb with a scope of  
> provided?
>
> Or is there a way to simply specify it at the ear level, and have  
> the ejb
> inherit it?  I've tried to make the ejb a child project of the ear  
> but then
> Maven complains that I've introduced a cyclic dependency.
>
> I've searched for examples, but all of the ones I have seen don't  
> address
> the issue of packaging dependencies for an EJB at the ear level.
>
> I would greatly appreciate any help.
>
> Thanks,
> Dave


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message