Cómo instalar Apache Maven en Debian 10
Apache Maven es una herramienta de automatización de la compilación y gestión de proyectos de software, utilizada principalmente para proyectos Java. Utiliza un modelo de objetos de proyecto (POM) para proporcionar un sistema de compilación uniforme con un uso coherente en todos los proyectos. Maven también ofrece gestión de dependencias, extensibilidad mediante plugins e integración con Git para gestionar las versiones. También puede generar información sobre tu proyecto (puedes encontrar un ejemplo aquí).
En este tutorial, instalaremos Apache Maven en un sistema Debian 10 y lo probaremos con una sencilla aplicación java.
Requisitos
- Una instancia de Debian 10 en la que tengas acceso al usuario root o un usuario con privilegios sudo.
Si utilizas un usuario sudo, inicia y utiliza un intérprete de comandos root durante el tiempo que dure esta configuración:
sudo -s
Paso 1: Instalar un JDK
Actualiza tu índice de paquetes e instala cualquier actualización con los comandos:
apt update apt upgrade -y
A continuación, instala los paquetes default-jdk, wget y git. El primero proporciona un kit de desarrollo compatible con java (OpenJDK 11), wget se utilizará para descargar Maven, y git es necesario para el paso de pruebas.
apt install -y default-jdk wget git
Maven requiere que se establezca la variable de entorno $JAVA_HOME. Puedes establecerla en todo el sistema con el siguiente comando:
echo "export JAVA_HOME=/lib/jvm/default-java" >> /etc/profile
Paso 2: Instalación de Apache Maven
En primer lugar, descarga e importa las claves públicas utilizadas por los desarrolladores de Apache Maven. Éstas se utilizarán para verificar
cd /tmp wget https://www.apache.org/dist/maven/KEYS gpg --import KEYS && rm KEYS
A continuación, ve a la página de descargas de Apache Maven y copia los enlaces de descarga más recientes para el formato «Archivo tar.gz binario» y su correspondiente archivo de firma. Descárgalos como se indica a continuación:
wget -O maven.tgz LINK.tar.gz wget -O maven.tgz.asc LINK.tar.gz.asc
Por ejemplo:
wget -O maven.tgz https://www-eu.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz wget -O maven.tgz.asc https://www.apache.org/dist/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz.asc
Y verifica la firma utilizando el siguiente comando. La firma debe coincidir con una de las claves importadas anteriormente.
gpg --verify maven.tgz.asc maven.tgz
Asegúrate de que la salida resultante contiene una buena firma antes de continuar. Por ejemplo
gpg: Signature made Tue 27 Aug 2019 05:10:12 PM CEST gpg: using RSA key BBE7232D7991050B54C8EA0ADC08637CA615D22C gpg: Good signature from "Enrico Olivelli <[email protected]>" [unknown]
A continuación, descomprime y mueve el directorio resultante con:
tar -xzf maven.tgz rm maven.tgz* mv apache-maven* /opt/maven
A continuación, añade el directorio /opt/maven/bin a tu variable de entorno $PATH:
echo "export PATH=$PATH:/opt/maven/bin" >> /etc/profile
Fuente /etc/profile para cargar las nuevas variables de entorno con:
. /etc/profile
Ahora deberías poder utilizar maven. Prueba lo siguiente:
mvn -v
Deberías ver una salida similar a la siguiente:
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T17:06:16+02:00) Maven home: /opt/maven Java version: 11.0.5, vendor: Debian, runtime: /usr/lib/jvm/java-11-openjdk-amd64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "4.19.0-6-amd64", arch: "amd64", family: "unix"
Paso 3: Probar Maven
Este paso es opcional.
Podemos probar a compilar un sencillo proyecto Hola Mundo con Maven para verificar que funciona correctamente. Clona este repositorio de Github con los siguientes comandos:
cd /tmp git clone https://github.com/nxnjz/java_maven_helloworld.git
Compila el proyecto con Maven:
cd java_maven_helloworld/ mvn package
El comando mvn package ejecuta cada fase de compilación en orden hasta la fase de paquete. Por defecto, incluye las siguientes fases principales: validar, compilar, probar, empaquetar. Si tiene éxito, saldrá con la siguiente salida:
[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------
Ya podemos ejecutar el JAR compilado:
java -cp target/hello-world-0.1.0.jar hello.HelloWorld
Más información
Si tienes algún problema al seguir esta guía, no dudes en dejar un comentario a continuación.