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: 
http://www.nabble.com/How-to-Use-Maven-with-Geronimo-J2EE-project-tp21007724s134p21007724.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Reply via email to