Un proyecto software suele tener diferentes módulos para separar así la parte web, la lógica de negocio, etc ... Maven nos permite crear estos proyectos multimódulos donde, tenemos un proyecto padre con su pom.xml referenciando a los módulos, pudiendo ser estos de diferentes tipos (jar, war, ...).
Los pasos a seguir son: crear el proyecto padre y después ir creando todos los módulos que necesitemos.
1) Creamos el proyecto padre
El arquetipo pom-root nos crea un nuevo directorio que sólo contiene el pom.xml. Lo que conviene resaltar de este pom.xml es que en <packaging> pone pom, indicando así que es un proyecto padre.
2) Creamos un módulo
En el directorio donde se encuentra el pom.xml del proyecto padre utilizamos mvn para crear un nuevo proyecto, que en este caso será nuestro primer módulo. Para este ejemplo voy a utilizar el arquetipo maven-archetype-quickstart, pero vosotros podéis utilizar cualquier otro, según el tipo del módulo que queráis crear.
Este comando nos genera el directorio myExample-common dentro de myExample, nuestro proyecto padre, con su pom.xml y directorio src correspondiente.
Si vamos otra vez al pom.xml del proyecto padre vemos que Maven nos ha añadido automáticamente el nuevo módulo que acabamos de crear!! :)
Así de fácil podemos seguir creando todos los módulos que necesitemos en nuestro proyecto.
Por cierto, si ejecutamos 'mvn clean install' en el directorio padre, también se ejecutará en todos los submódulos.
Los pasos a seguir son: crear el proyecto padre y después ir creando todos los módulos que necesitemos.
1) Creamos el proyecto padre
mvn archetype:generate \ -DarchetypeGroupId=org.codehaus.mojo.archetypes \ -DarchetypeArtifactId=pom-root \ -DarchetypeVersion=1.1 \ -DgroupId=com.examples \ -DartifactId=myExample
El arquetipo pom-root nos crea un nuevo directorio que sólo contiene el pom.xml. Lo que conviene resaltar de este pom.xml es que en <packaging> pone pom, indicando así que es un proyecto padre.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.examples</groupId> <artifactId>myExample</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>myExample</name> </project>
2) Creamos un módulo
En el directorio donde se encuentra el pom.xml del proyecto padre utilizamos mvn para crear un nuevo proyecto, que en este caso será nuestro primer módulo. Para este ejemplo voy a utilizar el arquetipo maven-archetype-quickstart, pero vosotros podéis utilizar cualquier otro, según el tipo del módulo que queráis crear.
mvn archetype:generate \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DgroupId=com.examples.common \ -DartifactId=myExample-common
Este comando nos genera el directorio myExample-common dentro de myExample, nuestro proyecto padre, con su pom.xml y directorio src correspondiente.
Si vamos otra vez al pom.xml del proyecto padre vemos que Maven nos ha añadido automáticamente el nuevo módulo que acabamos de crear!! :)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.examples</groupId> <artifactId>myExample</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>myExample</name> <modules> <module>myExample-common</module> </modules> </project>
Así de fácil podemos seguir creando todos los módulos que necesitemos en nuestro proyecto.
Por cierto, si ejecutamos 'mvn clean install' en el directorio padre, también se ejecutará en todos los submódulos.
Comentarios
Publicar un comentario