geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Re: How to Use Maven with Geronimo J2EE project
Date Mon, 15 Dec 2008 08:10:04 GMT

On Dec 14, 2008, at 7:17 PM, bongosdude wrote:

> I would lile to use maven to mange our project build/deploy during
> development, QA and production release. Maven is good at managing
> dependencies. While GEP can get us up to speed in development, it is  
> tricky
> to manage dependency using eclipse among team members. I have tried  
> to read
> geronimo sample to see how maven is used to build and deploy geronimo
> sample. However, I could not find out how maven is used with  
> gernonimo.
> Can someone help to explain or give me suggestions on how I can  
> learn more
> on this subject?

0. For team-wide access set up a team accessible maven repository.   
I've demoed this using sonatype nexus which works great but you can  
also set up httpd or presumably a lot of other things.

1. set up a maven project for each of your apps to use the geronimo  
car-maven-plugin to "pre-deploy" your application into a geronimo  
plugin. Deploy it into the team-wide maven repository (configure the  
deploymenManagement of your pom to point to the team repo)

2. set up a maven  project to assemble a custom server, again using  
the car-maven-plugin.  Include the framework plugin group and your  
apps and any optional stuff from geronimo you might want such as parts  
of the admin console.  Everything else needed will be pulled in too.

3. After deploying the assembled server it too will be available from  
the shared repo.

There are a couple geronimo archetypes to help setting up these maven  
projects but they are rather primitive and dont use the new archetype  
plugin features.... they still might help.
geronimo-plugin-archetype sets up a plugin project
geronimo-assembly-archetype sets up a custom server assembly project.

Perhaps the simplest example of all this in action is in geronimo  
trunk in the plugins/monitoring console: along with the base code, and  
the monitoring console portal application, we build plugins for the  
app and a server containing the monitoring console and run a simple  
integration test.

> 1. How can maven be used to generate geronimo*.xml and deployment  
> artifacts?

You need to write the geronimo plan yourself and put it under src/main/ 
plan/plan.xml.  I believe the easiest way to do this is the GEP  
wizards, although there are some wizards in the admin console as  
well.  The car-maven-plugin is used to convert the plan + application  
to a geronimo plugin.
> 2 What is geronimo plugin? I look at geronimo samples plugin (i.e.  
> bank
> plugin), I did not see any geronimo*.xml artifact in EAR file.

Javaee apps are not really supposed to have vendor specific plans  
inside them starting with j2ee 1.4, you are supposed to use a separate  
plan and jsr-88 to deploy the plan + app to a server.  In geronimo you  
can "pre-deploy" into a plugin that can then be installed in any  
geronimo server.  The samples are set up to build an app, and then one  
(for ejb-only apps) or two (jetty/tomcat) plugins and then (with the  
it profile) run a simple integration test.
> 3. is there maven geronimo plugin that can generate geronimo*.xml  
> file? Or
> we can create one and point maven to include geronimo*.xml in EAR  
> file?

The geronimo plan doesn't go in the application but is supplied  
separately in the plugin project at src/main/plan/plan.xml

Hope this helps,
david jencks

> Thanks
> -Bongos
> -----
> B Amigo:super:
> -- 
> View this message in context:
> Sent from the Apache Geronimo - Users mailing list archive at  

View raw message