¿Qué es Maven?

    Maven explicado

    Apache Maven es una herramienta de automatización de compilación para proyectos Java. Piense en Ant o Make, pero mucho más potente y fácil de usar. Si alguna vez ha tenido que lidiar con la construcción de un proyecto Java con dependencias o requisitos de compilación especiales, probablemente haya pasado por las frustraciones que Maven pretende eliminar.

    A lo largo de este artículo, explicaré un poco más sobre la herramienta, cómo se usa y, con suerte, responderé a su pregunta: ¿Qué es Maven?

    ¿Por qué es útil Maven?

    Maven ha sido un proyecto de código abierto bajo Apache desde 2003, comenzando en Sonatype antes de eso. Dado su fuerte respaldo y su inmensa popularidad, Maven es muy estable y rico en funciones, proporcionando numerosos plugins que pueden hacer cualquier cosa, desde generar versiones PDF de la documentación de su proyecto hasta generar una lista de cambios recientes desde su SCM. Y todo lo que se necesita para agregar esta funcionalidad es una pequeña cantidad de XML adicional o un parámetro de línea de comando adicional.

    ¿Tienes muchas dependencias? No hay problema. Maven se conecta a repositorios remotos (o puede configurar sus propios repositorios locales) y descarga automáticamente todas las dependencias necesarias para construir su proyecto.

    Por ejemplo, digamos que tiene un proyecto que usa la herramienta de enrutamiento Camel de Apache, versión 2.10.6, pero luego se lanza una nueva versión de Camel, 2.11.1. En lugar de tener que ir al sitio web de Apache, descargar la distribución 2.11.1 y reemplazar 2.10.6 con ella, puede decirle a Maven que use la nueva distribución y el trabajo estará hecho por usted. No es que sea difícil descargar un solo paquete de Java y colocarlo en la carpeta de su proyecto, pero piense en tener que hacer esto para múltiples dependencias cada vez que se actualice una. Es una pequeña cantidad de tiempo, pero se acumula rápidamente.

    ¿Cómo usar Maven?

    Usar Maven es extremadamente fácil, una vez que aprenda algunos de los conceptos principales. Cada proyecto contiene un archivo llamado POM (Modelo de objeto del proyecto), que es solo un archivo XML que contiene detalles del proyecto. Algunos de estos detalles pueden incluir el nombre del proyecto, la versión, el tipo de paquete, las dependencias, los plugins de Maven, etc.

    Un archivo pom.xml (muy) simple podría verse así:

    <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/maven-v4_0_0.xsd">
      
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.Pharos.sh.myproject</groupId>
      <artifactId>myproject</artifactId>
      <packaging>jar</packaging>
      <version>1.0-SNAPSHOT</version>
      
      <name>myproject</name>
      <url>http://Pharos.sh.com</url>
      
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-myquery-plugin</artifactId>
            <version>1.0</version>
            <configuration>
              <url>http://foobar.com</url>
              <timeout>10</timeout>
              <options>
                <option>foo</option>
                <option>bar</option>
              </options>
            </configuration>
          </plugin>
        </plugins>
      </build>
      
      <dependencies>
      	<dependency>
      	  <groupId>org.apache.camel</groupId>
      	  <artifactId>camel-core</artifactId>
      	  <version>2.11.1</version>
      	</dependency>
      	<dependency>
      	  <groupId>org.apache.camel</groupId>
      	  <artifactId>camel-http</artifactId>
      	  <version>2.11.1</version>
      	</dependency>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
    </project>
    

    No se preocupe por todos los pequeños detalles en este XML, solo observe qué tipo de contenido hay en pom.xml, como nombre, versión y dependencias. Aquí es donde tendrá lugar la mayor parte de su interacción con Maven, mientras que el resto es a través de llamadas a la línea de comandos.

    Para ejecutar Maven, todo lo que necesita hacer es navegar a la carpeta del proyecto y ejecutar:

    mvn [command]
    

    El comando puede ser varias cosas, pero por nombrar algunas:

    • test: Ejecuta todas las pruebas para el proyecto
    • clean: Elimina todos los archivos de compilación antiguos
    • package: Empaqueta el proyecto en un frasco (u otro formato según lo que se especificó)
    • install: Coloca el proyecto en el repositorio local de Maven
    • deploy: Coloca el proyecto en el repositorio remoto de Maven

    Maven es un tema enorme, y esta breve introducción solo tenía la intención de darle una idea de lo que hace Maven, así que asegúrese de consultar los recursos a continuación para obtener más información sobre cómo usarlo realmente.

    Aprende más

    ¿Quiere saber más sobre Apache Maven? Intente tomar un curso en línea como Curso intensivo de Maven, que entrará en muchos más detalles que en este artículo. Le enseñará todo sobre cómo usar esta herramienta de automatización de Java crucial, como configurarla, conceptos clave e incluso integrarla en Eclipse. En serio, ahórrese algo de tiempo y aprenda de uno de los mejores recursos que existen.

    Recursos

     

    Etiquetas:

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *