Skip to main content

Dónde Están Los Archivos Compilados De Maven En El Proyecto

Apache Maven es una herramienta para automatizar la compilaci n de proyectos Java. Proporciona la capacidad de compilar y empaquetar el c digo fuente en un ejecutable o biblioteca, as como administrar las dependencias del proyecto. Cuando se trabaja con Maven, la pregunta es: d nde est n los archivos compilados?

Por defecto, Maven compila el c digo fuente y crea los archivos compilados en el directorio target. En el directorio target, se crea un subdirectorio correspondiente a la versi n del proyecto, por ejemplo, target/1.0.0. En este subdirectorio se encuentran los archivos compilados a partir del c digo fuente del proyecto.

Uno de los tipos de archivos m s utilizados creados por Maven son los archivos jar. Contienen el bytecode compilado del c digo fuente del proyecto, as como los recursos del proyecto, como archivos de configuraci n o archivos de imagen. los archivos jar se encuentran en el directorio target y tienen una extensi n .jar. Para proyectos con una estructura compleja, se crea un subdirectorio adicional en el directorio target, que contiene los archivos jar.

Adem s, se pueden crear otros directorios adicionales en el directorio target que contengan archivos resultantes de otras fases del ciclo de vida de Maven, como la fase de prueba o la fase de agrupaci n. Por ejemplo, el directorio target/test-classes contiene los archivos compilados de las clases de prueba y el directorio target/classes contiene los archivos compilados del c digo fuente principal del proyecto.

  1. Estructura del proyecto y ubicaci n de los archivos
  2. Carpeta de destino: ubicaci n principal
  3. Examinar carpetas y archivos en la carpeta target
  4. Archivos de clases compiladas:
  5. Ubicaci n de los artefactos
  6. Caracter sticas de la ubicaci n de los archivos en diferentes Maven-plugins
  7. Maven Compiler Plugin
  8. Maven Surefire Plugin
  9. Maven Javadoc Plugin
  10. Maven Assembly Plugin
  11. Maven Clean Plugin
  12. Cambiar la ubicaci n de los archivos compilados
  13. Pregunta-respuesta
  14. D nde se guardan los archivos compilados de Maven en el proyecto?
  15. C mo puedo especificar otra carpeta para guardar los archivos compilados de Maven?
  16. Es posible establecer un nombre diferente para una carpeta con archivos compilados de Maven?

Estructura del proyecto y ubicaci n de los archivos

En proyectos desarrollados con Apache Maven, los archivos de c digo compilado, dependencias y otra informaci n generada tienen su ubicaci n est ndar.

La estructura del proyecto Maven consta de varios directorios y archivos, cada uno de los cuales tiene un papel diferente en el proceso de desarrollo y compilaci n del proyecto.

Aqu est n los directorios principales y su prop sito:

  • src / main / java: este directorio aloja el c digo fuente del proyecto en el lenguaje Java. Aqu es donde crea y modifica las clases del proyecto.
  • src / main / resources: este directorio aloja los recursos del proyecto, como archivos de configuraci n, plantillas, im genes y otros. Aqu es donde almacena todo lo que no es el c digo fuente en Java.
  • src/test / java: este directorio aloja el c digo de pruebas unitarias. Aqu es donde crea y modifica clases para probar la funcionalidad de su proyecto.
  • src / test / resources: este directorio aloja los recursos necesarios para las pruebas unitarias.
  • target: este directorio almacena los resultados de compilaci n, compilaci n y prueba del proyecto. Aqu est n las clases compiladas, dependencias, informes, artefactos y otros archivos generados por Maven.

Adem s de los directorios especificados, el proyecto Maven tambi n tiene archivos que son de particular importancia en el proceso de compilaci n y administraci n del proyecto:

  • pom.xml: este es el archivo de configuraci n principal del proyecto Maven. Especifica dependencias, Complementos, opciones de compilaci n y otras configuraciones del proyecto.
  • .m2: este es el directorio donde Maven almacena las dependencias (bibliotecas) descargadas del proyecto. Se encuentra en el directorio de Inicio del usuario y contiene subdirectorios para cada dependencia.
  • mvnw: este es un script de Inicio de Maven que le permite ejecutar una compilaci n de proyecto sin instalar Maven en el sistema.
  • mvnw.cmd: similar al archivo anterior, pero para el sistema operativo Windows.

Conocer la estructura del proyecto y la ubicaci n de los archivos ayuda a los desarrolladores a encontrar los archivos correctos y organizar f cilmente proyectos basados en los est ndares de Maven.

Carpeta de destino: ubicaci n principal

En proyectos construidos con Maven, la carpeta target es una de las ubicaciones principales de los archivos compilados. Esta carpeta se crea en la ra z del proyecto despu s de ejecutar la compilaci n con Maven.

La carpeta target contiene los resultados de compilaci n y compilaci n del proyecto. Dentro de la carpeta target se encuentran las siguientes subcarpetas:

  • classes: esta carpeta almacena las clases de proyecto compiladas;
  • test-classes: esta carpeta almacena las clases compiladas de los m todos de prueba del proyecto;
  • generated-sources: contiene el c digo fuente generado generado durante la compilaci n del proyecto;
  • maven-archiver: carpeta para guardar los archivos necesarios para crear un archivo de proyecto;
  • maven-status: contiene los archivos que Maven utiliza para realizar un seguimiento de los cambios y el estado del proyecto;
  • surefire-reports: carpeta para almacenar informes de ejecuci n de pruebas unitarias;
  • site: esta carpeta crea los archivos necesarios para la documentaci n del proyecto y el sitio del proyecto.

Adem s de estas carpetas, la carpeta target tambi n puede contener otras carpetas adicionales que se crean durante el proceso de compilaci n en funci n de la configuraci n del proyecto.

La carpeta target es muy importante para Maven, ya que representa el resultado final del trabajo de compilaci n del proyecto. Aqu se almacenan todos los archivos necesarios para ejecutar y probar la aplicaci n, incluidas las clases, los recursos, las dependencias y los informes de ejecuci n de pruebas.

El uso de la carpeta target permite que un proyecto organice su estructura de archivos y recursos de una manera que sea conveniente para desarrollar, probar e implementar una aplicaci n.

Examinar carpetas y archivos en la carpeta target

En un proyecto Maven, una vez compilado, todos los archivos de c digo fuente generados y otros recursos se guardan en la carpeta target. Esta carpeta tiene la siguiente estructura:

  • classes/: en esta carpeta se encuentran las clases compiladas del proyecto. Cada archivo .java que contiene el c digo fuente del proyecto se compilar en el archivo correspondiente .class y guardado en esa carpeta. La estructura de carpetas dentro de classes / coincide con la estructura de paquetes en el c digo fuente.
  • test-classes/: esta carpeta contiene las clases de prueba compiladas del proyecto. Las clases de prueba generalmente se colocan en una carpeta separada que no sea la carpeta classes/ para separarlas del c digo principal del proyecto.
  • generated-sources/ y generated-test-sources/: estas carpetas almacenan cualquier archivo que se haya creado o modificado durante el proceso de generaci n de c digo fuente, por ejemplo, con los Complementos de Maven.
  • maven-archiver/: esta carpeta contiene archivos relacionados con la creaci n de artefactos de proyecto, como archivos jar o war.
  • maven-status/: Esta carpeta contiene informaci n sobre el estado del proyecto dentro de un sistema de control de versiones como SVN o Git.
  • surefire-reports / y junitreports/: estas carpetas almacenan informes de ejecuci n de pruebas unitarias.

La carpeta target tambi n puede tener otros archivos y carpetas que est n asociados con varios Complementos de Maven y configuraciones de proyectos. Por ejemplo, la carpeta site / puede contener la documentaci n del proyecto resultante creada con los Complementos de Maven.

.

Archivos de clases compiladas:

Cuando se usa Maven en un proyecto, todos los archivos fuente de Java se compilan en bytecode y se guardan en la carpeta "target/classes". Esta carpeta contiene todas las clases de proyecto compiladas, as como los recursos que se copiaron durante la compilaci n del proyecto.

La estructura de la carpeta "target / classes" generalmente sigue la estructura de los archivos de origen del proyecto. Si tiene paquetes en el proyecto, tambi n se mostrar n en la carpeta "target / classes".

Para cada paquete en el proyecto, se crear una carpeta correspondiente en la carpeta "target/classes". Dentro de cada carpeta del paquete habr clases compiladas de Java.

Por ejemplo, si tiene un paquete llamado " com.example", la carpeta" target/classes "contendr una carpeta llamada" com", dentro de la cual habr una carpeta llamada" example", y dentro de esa carpeta estar n las clases compiladas.

Puede usar clases compiladas en su proyecto, por ejemplo, para ejecutar pruebas o ejecutar una aplicaci n.

Ubicaci n de los artefactos

Cuando se utiliza el sistema de compilaci n Maven en un proyecto, los archivos y artefactos compilados generalmente se encuentran en los siguientes directorios:

  • target: este directorio contiene los resultados de compilaci n, prueba y empaquetado del proyecto. Por lo general, aqu es donde se encuentra el archivo jar ensamblado (archivo Java), que es el ejecutable terminado de la aplicaci n. El directorio target tambi n puede almacenar otros artefactos, como clases compiladas, informes de prueba y documentaci n.
  • src/main/resources: Este directorio contiene recursos del proyecto, como archivos de configuraci n, im genes o plantillas. Al compilar un proyecto, los recursos de este directorio generalmente se copian en el directorio target/classes, que tambi n contiene las clases compiladas del proyecto. Esto permite el uso de recursos dentro del archivo JAR sin tener que especificar rutas de archivo absolutas.
  • src / test / resources: Similar al directorio anterior, este directorio contiene los recursos utilizados en las pruebas del proyecto. Los recursos de este directorio tambi n se copian en target/test-classes durante la compilaci n del proyecto.

Adem s de los directorios anteriores, Maven tambi n usa directorios est ndar para archivos de origen e informes, como src/main/java, src/test/java, src/site y otros. Estos directorios generalmente contienen c digo fuente, pruebas unitarias, archivos de generaci n de informes y otros materiales.

Comprender la estructura del proyecto y la ubicaci n de los diferentes artefactos es importante para configurar y trabajar correctamente con el proyecto en el sistema de compilaci n Maven.

Caracter sticas de la ubicaci n de los archivos en diferentes Maven-plugins

Cuando trabaja con un proyecto que utiliza el sistema de compilaci n Maven, puede encontrarse con varios Complementos Maven que proporcionan diferentes funcionalidades. Cada plugin Maven puede tener sus propias caracter sticas de ubicaci n de archivos.

Considere varios Complementos Maven comunes y sus caracter sticas de ubicaci n de archivos:

Maven Compiler Plugin

Maven-plugin Maven Compiler Plugin se utiliza para compilar el c digo fuente de un proyecto Java. Los archivos compilados se encuentran en la siguiente ruta: target / classes. Esta ruta contiene el bytecode compilado del c digo fuente de Java.

Maven Surefire Plugin

Maven Surefire Plugin se utiliza para realizar pruebas unitarias del proyecto. Los archivos de origen para realizar pruebas unitarias generalmente se encuentran en el directorio src/test / java. Los resultados de las pruebas unitarias se guardan en el directorio target/surefire-reports, donde puede encontrar informes de prueba y otra informaci n de depuraci n.

Maven Javadoc Plugin

Maven Javadoc Plugin se utiliza para crear documentaci n basada en los comentarios de JavaDoc en el c digo del proyecto. La documentaci n generada generalmente se guarda en el directorio target/site / apidocs, donde se pueden encontrar archivos de documentaci n HTML y recursos relacionados (por ejemplo, im genes).

Maven Assembly Plugin

Maven Assembly Plugin se utiliza para crear archivos de proyecto. La ubicaci n de los archivos creados depende de la configuraci n del complemento, pero de forma predeterminada, los archivos creados se encuentran en el directorio target.

Maven Clean Plugin

Maven Clean Plugin se utiliza para eliminar archivos compilados y otros recursos generados. Al ejecutar el objetivo clean, se eliminar n todos los archivos y directorios creados previamente en el directorio target.

Estos son solo algunos ejemplos de Complementos Maven y sus caracter sticas de ubicaci n de archivos. Cada plugin Maven puede tener sus propias reglas y estructuras de directorio. Por lo tanto, cuando se trabaja con Maven-plugins, se recomienda consultar la documentaci n del plugin correspondiente para obtener informaci n detallada sobre la ubicaci n de los archivos y las caracter sticas de su uso.

Cambiar la ubicaci n de los archivos compilados

De forma predeterminada, Maven guarda los archivos compilados en el directorio target, que se crea en el directorio ra z del proyecto. Sin embargo, en algunos casos, es posible que deba cambiar esta ubicaci n est ndar.

Hay varias formas en que puede cambiar el directorio en el que se ubicar n los archivos compilados de Maven.

    org.apache.maven.plugins

maven-compiler-plugin

path/to/new/directory

En este ejemplo, le indicamos a maven-compiler-plugin que guarde las clases compiladas en el directorio "path/to/new/directory".