Inicio > Comandos Linux > Instalando Maven en Ubuntu

Instalando Maven en Ubuntu

En mi anterior post puse un ejemplo de los test Unitarios, utilizando un proyecto en Maven que pueden descargar aquí. Los proyectos en Maven tienen la gran particularidad de que no necesitan tener incluidos los jar de las clases de paquetes externos que se utilizan, como clases de commons.io, commons.collection, guava, etc… Estos jars, son lo que llamamos dependencias externas del proyecto, y que son definidas en el archivo pom.xml de la raíz del proyecto. En él se agregan las diferentes dependencias, como lo hice para utilizar la clase Lists de guava, agregando estas etiquetas en el archivo:

<dependency>
____<groupId>com.google.guava</groupId>
____<artifactId>guava</artifactId>
____<version>${guava.version}</version>
</dependency>

Cuando uno compila el proyecto utilizando maven, maven se encarga de descargar los jar correspondientes para que el proyecto funcione. Entonces en este post voy a explicar como instalarlo para correr el proyecto. Primero que todo hay que bajar el archivo zip del repositorio maven http://maven.apache.org/download.html.

Después hay que descomprimir el directorio y ponerlo donde uno desee. Por ejemplo vamos a decir que lo puse en /home/bin/apache-maven-3.0.4. Luego, hay que verificar que tenemos definida la variable JAVA_HOME.

joan@jomaora:~$ echo $JAVA_HOME
/usr/lib/jvm/java-6-openjdk/

Sino esta definida, un simple export JAVA_HOME= con el valor correspondiente. Luego simplemente hay que definir las variables de entorno correspondientes a maven:

joan@jomaora:~$ export M2_HOME=/home/joan/bin/apache-maven-3.0.4
joan@jomaora:~$ export M2=$M2_HOME/bin
joan@jomaora:~$ export PATH=$M2:$PATH

Ya teniendo eso, maven debe funcionar. Para probar:

joan@jomaora:~$ mvn --version
Apache Maven 3.0.4 (r1232337; 2012-01-17 09:44:56+0100)
Maven home: /home/joan/bin/apache-maven-3.0.4
Java version: 1.6.0_23, vendor: Sun Microsystems Inc.
Java home: /usr/lib/jvm/java-6-openjdk/jre
Default locale: fr_FR, platform encoding: UTF-8
OS name: "linux", version: "3.0.0-16-generic", arch: "amd64", family: "unix"

El problema es que la generación de estas variables de entorno sólo funcionarán mientras la Terminal esté abierta. Para que los cambios sean tomados en cuenta de manera general, podemos editar el archivo ./bashrc y colocar al final

JAVA_HOME=/usr/lib/jvm/java-6-openjdk/
M2_HOME=/home/joan/bin/apache-maven-3.0.4
M2=$M2_HOME/bin
PATH=$M2:$PATH

Y listo.

Ya para probar el proyecto hay que ejecutar los siguiente comando de maven:

  • mvn compile : Compila el proyecto para saber si no hay errores.
  • mvn clean install : Para compilar el proyecto y genera el directorio target/ y corre los test unitarios.

Cuando ejecutamos el mvn clean install vemos pasar estas líneas correspondientes que indican que los tests se corren:

[INFO] Compiling 1 source file to /home/joan/workspace/testMockito/target/test-classes
[INFO] [surefire:test {execution: default-test}]
[INFO] Surefire report directory: /home/joan/workspace/testMockito/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.819 sec
Results :
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0

Categorías:Comandos Linux Etiquetas:
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Hype Driven Development

coz' geeks love new stuff !

My experiments with SCRUM

Site to discuss Agile (Scrum, XP, etc) concepts and ideas.

CommitStrip

Mi propia cheatsheet...

Chris Aniszczyk's (zx) diatribe

work. life. open source. diatribes.

GermanTrevi

repositorio de mi mente...

A %d blogueros les gusta esto: