Maven 1 – creación, compilación, empaquetado y ejecución de proyecto.

Esta práctica se llevara acabo desde una consola para entender que es lo que sucede al ejecutar los comandos de maven. En este post damos por hecho que ya tienes instalado maven en tu  pc.

Para corroborar lo anterior, escribe el siguiente comando:

$ mvn --version

Deberán ver información relacionada con su versión de maven

Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T14:39:06-05:00) 
Maven home: /Users/usuario/Documents/apache-maven-3.5.0 
Java version: 1.8.0_101, vendor: Oracle Corporation 
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre 
Default locale: es_XL, platform encoding: UTF-8

Una vez corroborado la instalación de Maven, comenzaremos la práctica.

Archetype

El comando arquetype creará nuestro proyecto a partir de una plantilla la cual nosotros debemos especificar, en nuestro ejemplo será maven-archetype-quickstart.

$ mvn archetype:generate -DgroupId=com.mateygeeks.ejemplos -DartifactId=EjemploMaven -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Una vez que finalice de ejecutar el comando, podrán ver la siguiente estructura en sus sistema de archivos.

Captura de pantalla 2017-11-20 a la(s) 20.23.36

  • archetype:create: Comando para crear un proyecto
  • -DgroupId: Nombre que se le da a un conjunto de proyectos, es decir nuestro proyecto pertenecerá al conjunto com.mateygeeks.ejemplos
  • -DartifactId: Nombre del proyecto, se creará una carpeta con este nombre y también el jar que se genere será con este nombre.

Ahora veremos con más detalle la estructura del proyecto:

  • pom.xml Es un fichero que contiene datos de configuración del proyecto, tiene una configuración inicial la cual deberemos editar más adelante para poder obtener las dependencias necesarias, perfiles de compilación, etc.
  • src Esta carpeta contendrá nuestros archivos fuente.
  • test Esta carpeta contendrá todos nuestras clases de pruebas, como porejemplo Junit.

Esta es la configuración básica de Maven, ahora pasaremos a ver los comandos básicos de maven.

Antes de comenzar, veamos que es lo que contiene nuestra clase llamada App.java

package com.mateygeeks.ejemplos;

/**
 * Hello world!
 *
 */
 public class App
 {
  public static void main( String[] args )
  {
   System.out.println( "Hello World!" );
  }
 }

Como se puede ver, es una clase sencilla que sólo imprime el mensaje “Hello World!”

Ahora pasaremos a ver los comandos de maven.

Compile

Posicionarse dentro de la carpeta del proyecto y ejecutar el comando compile:

$ cd EjemploMaven

$ mvn compile

Una vez que finalice el comando, podremos ver que se ha creado una nueva carpeta llamada target en la cual se encuentra nuestra clase compilada (app.class).

Captura de pantalla 2017-11-20 a la(s) 21.08.20

Ahora procederemos a generar el .jar de nuestro proyecto para posteriormente probarlo.

$mvn package

Veremos que se han creado más carpetas, pero por el momento no ahondaremos en ellos (test unitarios) y sólo nos enfocaremos en el .jar generado (podemos cambiar el nombre de este archivo a través del archivo de configuración pom.xml).

Captura de pantalla 2017-11-20 a la(s) 21.21.28

Ahora procederemos a ejecutar nuestra aplicación.

java -cp target/EjemploMaven-1.0-SNAPSHOT.jar com.mateygeeks.ejemplos.App

Veremos que la salida de la consola es:

Hello World!

Esto es todo por hoy.