Maven – Introducción a la estructura estándar de directorios de Maven

Disponer de una estructura común de directorios permite a cualquier desarrollador familiarizarse con cualquier proyecto Maven.

Las ventajas son análogas a adoptar un look-and-feel en toda la estructura de directorios. La siguiente sección documenta la estructura de directorios esperada y creada por Maven.

Hay que seguir esta estructura en todo proyecto Maven lo máximo posible; No obstante, si se necesita sobrescribir esta estructura se puede redefinir mediante el descriptor de proyecto (project descriptor).

mave.folders

Estructura estándar de directorios en Maven

El archivo pom.xml (project object modelo) es el archivo descriptor del proyecto principal. Adicionalmente, existen documentos de texto con un montón de información: README.txt, license.txt, etc.

Existen dos subdirectorios principales en esta estructura: src and target.

Los únicos directorios adicionales que se espera que se encuentren en este nivel son directorios con metadatos como CVS, o .svn o cualquier subproyecto en una construcción de tipo múltiple de Maven.

El directorio target se utiliza para almacenar toda la salida de la compilación (Build).

El directorio src contiene todo el código fuente para construir el proyecto. Contiene un subdirectorio de cada tipo: main por el principal artefacto construido, test para el código fuente unitario de test, el código fuente, los recursos, etc.

Dentro del artefacto produciendo directorios fuente (pe main y test), sólo hay un directorio por el lenguaje Java (donde se mantiene la estructura jerárquica normal de los paquetes Java), y un directorio por los recursos (la estructura de la que se copia en el target cuando se construye el artefacto).

Si fuera necesario incluir otras fuentes de terceros para la construcción del artefacto, estas deberían encontrarse bajo otros subdirectorios: por ejemplo src/main/ANTLR contendría gramática en los ficheros ANTLR.