La versión 1.2.X de Spring Roo soporta proyectos Maven multimódulo.
Los proyectos multimódulo en Maven permiten agrupar un conjunto de subproyectos.
Veamos cómo crear un proyecto multimódulo en Roo 1.2:
1. Creo el proyecto padre con el comando:
Roo>project –topLevelPackage es.luismi.roo.multimodulo –packaging POM
Esto habrá creado un pom.xml en el raíz de nuestro proyecto.
2. Una vez creado el proyecto padre o contenedor puedo desde este directorio crear módulos:
Roo>module create –moduleName persistencia –topLevelPackage es.luismi.roo.multimodulo.dominio
Esto ha creado la carpeta persistencia
y dentro la estructura de fuentes:
En roo aparecerá el foco en ese módulo creado persistencia
3. También puedo crear un módulo anidado, para eso primero creo el módulo contenedor:
Roo> module focus –moduleName ~ (para poner el foco en el módulo root, si no me lo crearía sobre el módulo persistencia)
Roo> module create –moduleName ui –topLevelPackage es.luismi.roo.multimodulo.ui –packaging POM
4. Y luego teniendo el foco en ui el módulo que quiero:
Roo> module create –moduleName web –topLevelPackage es.luismi.roo.multimodulo.ui.web
Puedo hacer foco sobre un módulo anidado de la siguiente forma:
Roo> module focus –moduleName ui/web
Roo habrá creado los módulos y las dependencias en el pom.xml Una vez creados los módulos puedo trabajar con cada uno de ellos de la forma normal.
Aunque no existe un comando para eliminar un módulo, para hacerlo basta con eliminar el directorio y eliminar el <module> en el POM del padre del módulo.