驴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 *