JavaRush /Blog Java /Random-ES /Parte 4: Conceptos básicos de Maven

Parte 4: Conceptos básicos de Maven

Publicado en el grupo Random-ES
Este material es parte de la serie “Introducción al desarrollo empresarial”. Artículos anteriores: Parte 4. Conceptos básicos de Maven - 1Maven es una herramienta para gestionar y crear proyectos, un verdadero asistente para el programador de Java. Le facilita la vida al desarrollador en todas las etapas del trabajo: desde la creación de la estructura del proyecto y la conexión de las bibliotecas necesarias hasta la implementación del producto en el servidor. Cuando trabaje con cualquier marco, deberá utilizar Maven. Entonces, veamos sus funciones principales hoy y veamos cómo deben usarse.

Instalación paso a paso de Maven

  1. Primero necesitas instalar Maven descargándolo desde este enlace .

  2. A continuación, debe descomprimir el archivo descargado y configurar la variable de entorno M2_HOME en un enlace a la ubicación del archivo descomprimido. Por ejemplo, C:\Archivos de programa\maven\

  3. Para comprobar que todo está instalado, escriba en la línea de comando:

    versión-mvn

  4. Si se muestra la información de la versión de Maven, Java, etc., está listo para comenzar.

  5. Ahora abra IntelliJIDEA y cree un nuevo proyecto. En la primera ventana, seleccione Maven:

    Parte 4. Conceptos básicos de Maven - 2
  6. Haga clic en Siguiente y complete el siguiente cuadro de diálogo:

    Parte 4. Conceptos básicos de Maven - 3
  7. A continuación, cree un proyecto en la ubicación requerida de forma estándar.

    Una vez creado el proyecto, preste atención a su estructura:

    Parte 4. Conceptos básicos de Maven - 4
Esta es la estructura estándar para un proyecto Maven :
  • la carpeta src/main/java contiene clases de java;
  • en src/main/resources - recursos que utiliza nuestra aplicación (páginas HTML, imágenes, hojas de estilo, etc.);
  • src/test - para pruebas.
También preste atención al archivo llamado pom.xml . Este es el archivo principal para administrar Maven . La descripción completa del proyecto está contenida aquí. No hay demasiada información todavía, pero la agregaremos ahora.

Gestión de dependencias en Maven

Es posible que te hayas topado con la frase “administrador de dependencias” o “administrador de dependencias”. Maven puede hacerlo todo. Gracias a Maven, no necesita perder mucho tiempo buscando la biblioteca requerida en Internet, descargándola y luego conectándola al proyecto: simplemente agregue la biblioteca requerida a la lista de dependencias de Maven. Las dependencias están escritas en el nodo XML de dependencias. Digamos que necesita la biblioteca Apache Commons IO en su proyecto para simplificar el trabajo con archivos. Para agregar una biblioteca, escriba cinco líneas en pom.xml:
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Tu pom.xml ahora debería verse así:
<?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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Después de esto, permita que IntelliJ IDEA importe la dependencia (debería aparecer un cuadro de diálogo en la esquina inferior derecha). Ahora la biblioteca está lista para usar:
import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Todas las dependencias posteriores también deben escribirse dentro de la etiqueta <dependencias>. Quizás se pregunte: ¿cómo sabe qué información necesita incluir sobre una biblioteca dentro de la etiqueta <dependencia>? Aquí todo es sencillo. En tales casos, siempre se especifican tres parámetros: groupId, artefactoId y versión. Puede conocer estos parámetros de dos formas:
  1. En el sitio web de la biblioteca. Si necesitamos Apache Commons IO, vaya al sitio web oficial y seleccione la pestaña Información de dependencia. Toda la información necesaria está aquí ; simplemente puede copiarla y agregarla a nuestra sección de dependencias.

  2. En el repositorio de Maven . Ingrese "apache commons io" en la búsqueda y verá todas las versiones disponibles de la biblioteca. Después de seleccionar el que necesita, simplemente copie:

    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>

    y agréguelo a su pom.xml.

Tipos de repositorios Maven

Vale la pena mencionar nuevamente el repositorio de Maven, porque en realidad tenemos dos de ellos: externo (global) y local, en su computadora. Todas las bibliotecas que agrega a sus proyectos se guardan en el repositorio local. Cuando Maven agrega una dependencia requerida a un proyecto, primero verifica la presencia de dicha biblioteca en el repositorio local y, solo si no la encuentra allí, recurre al externo. Como puedes ver, puedes usar Maven para agregar dependencias, pero eso no es todo lo que puede hacer.

Construyendo un proyecto Java usando Maven

Esta característica puede parecer inútil para un novato. ¿Por qué es necesario si hay un IDE? ¡Pero no! En primer lugar, es posible que el servidor en el que tendrá que crear la aplicación no sólo no tenga un entorno de desarrollo, sino también una interfaz gráfica. En segundo lugar, en proyectos grandes, Maven hace frente mejor a las tareas de montaje del proyecto. Por lo tanto, no nos atormentemos esperando, sino que consideremos el proceso de creación de una aplicación utilizando Maven.

Etapas

El proceso de creación de una aplicación se denomina ciclo de vida de un proyecto Maven y consta de fases. Puedes verlos en IDEA haciendo clic en Maven>ejemplo>Ciclo de vida en la esquina superior derecha: Parte 4. Conceptos básicos de Maven - 5Como puedes ver, hay 9 fases:
  1. clean: elimina todos los archivos compilados del directorio de destino (el lugar donde se guardan los artefactos terminados);
  2. validar: verificar si toda la información está disponible para construir el proyecto;
  3. compilar: se compilan archivos con código fuente;
  4. prueba: se lanzan las pruebas;
  5. paquete: los archivos compilados se empaquetan (en un archivo jar, war, etc.);
  6. verificar: se realizan comprobaciones para confirmar que el archivo empaquetado esté listo;
  7. instalar: el paquete se coloca en el repositorio local. Ahora puede ser utilizado por otros proyectos como biblioteca externa;
  8. sitio: se crea la documentación del proyecto;
  9. implementar: el archivo recopilado se copia a un repositorio remoto.
Todas las fases se ejecutan secuencialmente: no se puede iniciar, digamos, la cuarta fase hasta que se completen las fases 1-3. Hay dos formas de iniciar una fase:
  • a través de la línea de comando:

    paquete mvn

    Parte 4. Conceptos básicos de Maven - 6
  • utilizando Intellij IDEA:

    Parte 4. Conceptos básicos de Maven - 7

    Antes de lanzar el paquete, se realizan las fases de validación, compilación y prueba. La excepción es la fase limpia. Es recomendable llamarlo antes de construir cada nuevo proyecto. Las fases se pueden enumerar separadas por espacios:

    Paquete limpio mvn.

Además, cada fase tiene fases previas y posteriores: por ejemplo, antes de la implementación, después de la implementación, antes de la limpieza y después de la limpieza, pero se usan muy raramente. Además, cada fase tiene objetivos. Los objetivos estándar se incluyen de forma predeterminada, los complementos de Maven agregan otros adicionales. A veces, durante alguna fase es necesario realizar funciones adicionales. Existen complementos de Maven para esto. La lista de complementos oficiales se puede encontrar en el sitio web de Maven . Pero sepa que todavía hay muchos complementos personalizados que se pueden encontrar en recursos de terceros. Bueno, por supuesto, si surge alguna necesidad exótica, siempre tienes la oportunidad de escribir dicho complemento tú mismo .

Complementos

Para agregar un complemento Maven a un proyecto, su descripción, similar a las dependencias, debe colocarse en pom.xml en las etiquetas <build> y <plugins>. Por ejemplo, necesitamos un complemento para verificar que todas nuestras bibliotecas externas estén utilizando las últimas versiones. Después de buscar un poco en Internet, podrá encontrar este complemento con instrucciones de uso. Configuremos su ID de grupo, ID de artefacto y versión. Anotemos qué objetivos debe cumplir y en qué fase. En nuestro caso, la verificación de dependencia en el pom.xml actual está configurada en la fase de validación. Ahora nuestra "memoria" se ve así:
<?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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Todavía podemos seguir trabajando en nuestro proyecto. Pero intentemos cambiar la versión de Apache Commons IO a 2.0 y comenzar a construir el proyecto. Obtenemos: [ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1] Aquí tenemos un error de compilación causado por el complemento. El mensaje de error indica que estamos usando la versión 2.0 cuando la 2.6 está disponible. En general, Maven es una herramienta muy útil. Puede parecer difícil de usar al principio, pero practica, crea tus proyectos en Maven y después de un tiempo estarás muy satisfecho con el resultado. Este artículo omitió deliberadamente muchos detalles sobre Maven; nos concentramos en lo esencial. Pero la perfección no tiene límites: puedes leer más sobre Maven en el sitio web oficial del producto . Parte 5. Servlets. Escribir una aplicación web sencilla Parte 6. Contenedores de servlets Parte 7. Introducción del patrón MVC (Modelo-Vista-Controlador) Parte 8. Escribir una pequeña aplicación Spring-boot
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION