SteveH1UK (24) [Avatar] Offline
For most of the application developments I create at work, I use different different projects for the core (domain, dao etc) and web. Now if I am using batch I will also have a different project for this. Similarly I will have a different project for my web tests.

Looking at ROO-120 (Support for flat multi module project) I can see that Roo does not support using maven multi-projects for this but is there any current best practise for modularising your application when using Roo.
krimple (141) [Avatar] Offline
Re: Multiple projects when developing with Spring Roo

I hear you. Note that even Grails 2.0, which originally was going to have OSGi support, is not going to support OSGi modules, so that way may just be something the Roo team doesn't want to bite off on until Roo 1.3.

As per Maven multi-modules, I think the problem is classpath. All Roo projects store their application-context files in classpath:META-INF/spring as applicationContext*.xml so loading the right one(s) can be a challenge. Unless somehow the application name is added to the basename and you never have two applications with the same name, you'll get collisions. Also, if you're using the WAR as the runner, you'd have to update it with the classpath settings for all of the jar application contexts.

I just asked for clarification of plans on ROO-120 - I haven't focused on this since seeing that OSGi support was a ways off. Too many chapters, too little time.


SteveH1UK (24) [Avatar] Offline
Re: Multiple projects when developing with Spring Roo
What would be good would be to present an option for doing this without using maven multi-projects (letting maven aggregate projects for you).

For large (i.e. enterprise) developements then I think it would be good to have several related Roo projects. Could you use a parent pom for dependency and a Roo project for your DAO and another for Web OR is this when you decide NOT to use Roo!

Many projects I work on have 50 or so domain objects