La gestión de proyectos es uno de los temas que más se mencionan en la actualidad a nivel corporativo gracias a su alcance, beneficios y posibilidad de coordinar las mejores tareas para un grupo específico dentro de la compañía.
Al trabaja sobre Sistemas Operativos Linux, tenemos la oportunidad de usar diversas herramientas enfocadas en este tipo de actividades y una de las más llamativas es Apache Maven la cual analizaremos en este tutorial de forma íntegra y completa en Ubuntu 17 Server.
Apache Maven está basada en el concepto del modelo de objeto de proyecto (POM), y gracias a Maven, se puede gestionar la compilación, los informes y la documentación de un proyecto a partir de una pieza central de información permitiendo así su control total.
Apache Maven es una herramienta de automatización de compilación la cual se usa e implementa principalmente para proyectos basados en Java pero que también es posible usarla para crear y administrar proyectos escritos en C #, Ruby, Scala y otros idiomas.
Los objetivos con los cuales se creó Apache Maven son:
- Permitir que el proceso de construcción sea lo más fácil posible
- Proporcionar un sistema de construcción uniforme
- Ofrecer información de calidad del proyecto
- Proporcionar lineamientos para el desarrollo de mejores prácticas
- Permitir una migración transparente a nuevas funciones
Algunas de sus características más sobresalientes son:
- Configuración simple del proyecto que sigue las mejores prácticas lo cual nos permite obtener un nuevo proyecto o módulo iniciado en pocos segundos.
- Uso consistente en todos los proyectos, esto no implica un tiempo de aceleración para los nuevos desarrolladores que ingresan en un proyecto nuevo.
- Gestión superior de dependencias que incluye actualización automática, cierres de dependencia (también conocidos como dependencias transitivas).
- Apache Maven tiene la capacidad de trabajar fácilmente con múltiples proyectos al mismo tiempo sin afectar ninguno entre si.
- Cuenta con un repositorio grande y creciente de bibliotecas y metadatos para usar de inmediato, y adicional, cuanta con acuerdos con los proyectos Open Source más grandes para la disponibilidad en tiempo real de sus últimos lanzamientos.
- Maven es extensible, ya que tiene la capacidad de escribir fácilmente complementos en Java o lenguajes de scripting.
- Acceso instantáneo a nuevas funciones con poca o ninguna configuración adicional.
- Hace uso de las tareas Ant para la gestión de la dependencia y el despliegue de Maven.
- Usa modelos basados en modelos, es decir, Apache Maven puede construir cualquier cantidad de proyectos en tipos de salida predefinidos como JAR, WAR o distribución en base a metadatos sobre el proyecto, sin la necesidad de hacer scripts en la mayoría de los casos.
- Es un sitio coherente con la información del proyecto ya que utiliza los mismos metadatos que para el proceso de compilación, Maven puede generar un sitio web o PDF que incluya toda la documentación que deseemos agregar, y agrega a esos estándar informes sobre el estado del desarrollo del proyecto.
- Ofrece publicación de distribución y administración de versiones y esto no requiere de mucha configuración adicional, ya que Maven se integrará con el sistema de control de fuente (como Subversion o Git) y se encarga de gestionar el lanzamiento de un proyecto basado en una determinada etiqueta. También podremos publicar esto en una ubicación de distribución para que lo usen otros proyectos. Maven puede publicar salidas individuales como un JAR, un archivo que incluye otras dependencias y documentación, o como una distribución fuente.
- Gestión de dependencias, ya que, al usar Apache Maven, se fomenta el uso de un depósito central de JAR y otras dependencias. Maven cuenta con un mecanismo en el cual los clientes del proyecto pueden acceder para descargar cualquier JAR requerido para construir su proyecto desde un repositorio central de JAR muy parecido al CPAN de Perl.
1. Instalar Java en Ubuntu
El primer paso que dar consiste en instalar el paquete 'python-software-properties' usando el siguiente comando:
sudo apt install -y python-software-properties
Ahora vamos a añadir el repositorio de Java PPA con el siguiente comando:
sudo add-apt-repository ppa:webupd8team/java
Una vez añadido este repositorio, procedemos a actualizar los paquetes de éste:
sudo apt update
Apache Maven requiere el JDK 1.7 o superior y en este caso vamos a instalar el JDK 1.8, para ello, instalaremos Java desde el PPA usando el comando apt de la siguiente forma:
sudo apt install -y oracle-java8-installer
Una vez finalice este proceso podremos visualizar la versión de Java ejecutando lo siguiente:
java -version