geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: reconciling geronimo common libs and standalone maven2 repository
Date Thu, 15 Mar 2007 21:50:09 GMT

On Mar 15, 2007, at 5:13 PM, CedricHurst wrote:

>
> I have another question regarding Geronimo and Maven2 interaction.
>
> In the lab we're building, we have quite a few dependencies (Spring,
> Hibernate, org.json, Derby Client).  We're using Maven2 to define  
> these
> dependencies within the project and inject them in the WAR file,  
> but we're
> wondering if there's a better way.  I've often stared at the common  
> libs
> portlet in the admin console and wondered if there was a way to get  
> that
> talking to our standalone maven repository.  This would would allow  
> us to
> pull down the dependency trees through the maven command and have them
> available inside the Geronimo installation at-large (instead of  
> manually
> adding 20+ libraries by hand from the admin console).  That way,  
> instead of
> specifying the dependencies in the pom.xml and deploying a 100MB+  
> war file,
> we could define the dependencies in the deployment plan and push much
> smaller files to the server, relying on common libs to supply the  
> needed
> jars.  Is this possible?

Yes.  That's kind of how we build the server.  The car-maven-plugin  
uses the local maven repository as the geronimo repository and  
basically starts a server up using the maven repo, and runs some  
deploy command, and then copies the result(s) back into the local  
maven repo.  Assembly looks at the recorded geronimo dependencies in  
each module/configuration we install and pulls its dependencies from  
the local maven repo into the repository of the server being assembled.

There's also the plugin system which is pretty much like what the  
assembly stuff does except it can work with remote maven repos.  It  
has an additional xml file describing more about the plugin, but I'm  
not exactly sure what.

There are some problems relating the geronimo and maven concepts of  
repository, mostly about how to resolve versions, but I'm not sure  
they are insurmountable, just very annoying when you run into them.

So, I'm not really clear on what you are trying to do, but I think if  
you study these a bit you can figure out a way to have a slim war  
with no external jars in it and use a collection of maven and  
geronimo repositories to load all the classes.

One thing the car plugin does for you if you use it to "predeploy"  
your app is copy the maven dependencies from the pom.xml into your  
geronimo plan: that's why the plans in our configs dir don't have an  
environment element in them.  This is slightly problematical due to  
the different meanings of "scope" in maven and geronimo and we might  
adopt a different system soon but might still be worth looking at.

I think I'd recommend you go for a plugin.

Hope this helps, perhaps I'll understand better exactly what you want  
to do with your next reply.

thanks
david jencks


> -- 
> View this message in context: http://www.nabble.com/reconciling- 
> geronimo-common-libs-and-standalone-maven2-repository- 
> tf3411000s134.html#a9503712
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Mime
View raw message