Tutorial de Maven: todo lo que necesita saber para empezar



Este blog sobre el tutorial de Maven cubre todo lo que necesita saber para comenzar con Maven para crear sus proyectos.

En lugar de escribir scripts largos para construir sus proyectos y descargar manualmente las dependencias, ¿por qué no usar Maven y deshacerse de este lío? Este blog sobre el tutorial de Maven cubrirá todo lo que necesita para comenzar a usar Maven para su proyecto. Después de comprender a fondo este tutorial de Maven, el próximo paso probable será aprender Jenkins, que cubre la fase de integración continua de .

En este blog sobre el tutorial de Maven, cubriremos los siguientes temas:

Java convirtiendo double a int
  1. ¿Por qué necesitamos a Maven?
  2. ¿Qué es Maven?
  3. Arquitectura Maven
  4. Ciclo de vida, fases y objetivos de Maven
  5. Proyecto de demostración.

¿Por qué necesitamos a Maven?

Si está trabajando en proyectos Java, la mayor parte del tiempo necesita dependencias. Las dependencias no son más que bibliotecas o archivos JAR. Necesita descargarlos y agregarlos manualmente. Además, la tarea de actualizar la pila de software para su proyecto se realizó manualmente antes de Maven. Por lo tanto, era necesaria una mejor herramienta de construcción que manejara estos problemas.





Aquí es donde Maven entra en escena. Maven puede resolver todos sus problemas relacionados con las dependencias. Solo necesita especificar las dependencias y la versión de software que desea en el archivo pom.xml en Maven y Maven se encargará del resto.Así que ahora intentemos entender qué es exactamente Maven.

¿Qué es Maven?

El proyecto Maven es desarrollado por Apache Software Foundation, donde anteriormente formaba parte del proyecto Yakarta. Maven es una poderosa herramienta de automatización de compilación que se utiliza principalmente para proyectos basados ​​en Java. Maven le ayuda a abordar dos aspectos críticos de la creación de software:



  • Describe cómo se construye el software
  • Describe las dependencias.

Maven prefiere la convención a la configuración. Maven descarga dinámicamente las bibliotecas de Java y los complementos de Maven de uno o más repositorios, como el Repositorio central de Maven, y los almacena en un caché local. Los artefactos de los proyectos locales también se pueden actualizar con este caché local. Maven también puede ayudarlo a crear y administrar proyectos escritos en C #, Ruby, Scala y otros lenguajes.

El archivo Project Object Model (POM) es un archivo XML que contiene información relacionada con el proyecto y la información de configuración, como dependencias, directorio de origen, complemento, objetivos, etc., que Maven utiliza para construir el proyecto. Cuando ejecuta un comando maven, le da a maven un archivo POM para ejecutar los comandos. Maven lee el archivo pom.xml para realizar su configuración y operaciones.

Objetivos de Maven

Objetivos de Maven

¿Cuándo debería alguien usar Maven?

    1. Si hay demasiadas dependencias para el proyecto.
    2. Cuando la versión de dependencia se actualiza con frecuencia.
    3. Las compilaciones, la integración y las pruebas continuas se pueden manejar fácilmente con maven.
    4. Cuando se necesita una manera fácil de generar documentación a partir del código fuente, compilar el código fuente, empaquetar el código compilado en archivos JAR o ZIP.

Arquitectura Maven

Ciclo de vida, fases y objetivos de Maven

1. Ciclo de vida de Maven



Hay un ciclo de vida específico que sigue Maven para implementar y distribuir el proyecto de destino.

Hay tres ciclos de vida integrados:

  • defecto - Este es el ciclo de vida principal de Maven, ya que es responsable de la implementación del proyecto.
  • limpiar - Este ciclo de vida se utiliza para limpiar el proyecto y eliminar todos los archivos generados por la compilación anterior.
  • sitio - El objetivo de este ciclo de vida es crear la documentación del sitio del proyecto.

Cada ciclo de vida se compone de una secuencia de fases. El ciclo de vida de compilación predeterminado consta de 23 fases, ya que es el ciclo de vida de compilación principal de Maven

Por otro lado, el ciclo de vida limpio consta de 3 fases, mientras que el ciclo de vida del sitio se compone de 4 fases.

2. Fases de Maven

Una fase de Maven no es más que una etapa en el ciclo de vida de la construcción de Maven. Cada fase ejecuta una tarea específica.

A continuación, se muestran algunas fases importantes del ciclo de vida de la compilación predeterminado:

  • validar - Esta fase comprueba si toda la información necesaria para la construcción está disponible
  • compilar - Esta fase compila el código fuente
  • prueba de compilación - Esta fase compila el código fuente de prueba
  • prueba - Esta fase ejecuta pruebas unitarias
  • paquete - Esta fase empaqueta el código fuente compilado en el formato distribuible (jar, war)
  • examen de integración - Esta fase procesa e implementa el paquete si es necesario para ejecutar pruebas de integración.
  • Instalar en pc - Esta fase instala el paquete en un repositorio local.
  • desplegar - Esta fase copia el paquete al repositorio remoto.

Maven ejecuta las fases en un orden específico. Esto significa que si ejecutamos una fase específica usando el comando como mvn, esto no solo ejecutará la fase especificada sino también todas las fases anteriores.

Por ejemplo, si ejecuta el comando mvn deploy, es decir, la fase de implementación, que es la última fase en el ciclo de vida de la compilación predeterminado, esto también ejecutará todas las fases antes de la fase de implementación.

3. Objetivos de Maven

Una secuencia de objetivos constituye una fase y cada objetivo ejecuta una tarea específica. Cuando ejecuta una fase, Maven ejecuta todos los objetivos en un orden asociado con esa fase. La sintaxis utilizada es plugin: goal. Algunas de las fases y los objetivos predeterminados vinculados a ellas son las siguientes:

  • compilador: compilar - fase de compilación
  • compilador: prueba - fase de compilación de prueba
  • surefire: prueba - fase de prueba
  • instalar: instalar - fase de instalación
  • jar and war: war - fase de paquete

Un complemento de Maven es un grupo de objetivos. Sin embargo, estos objetivos no están necesariamente vinculados a la misma fase.Por ejemplo, el complemento Maven Failsafe que es responsable de ejecutar las pruebas de integración. Para las pruebas unitarias, necesita el complemento seguro de Maven.

Proyecto de demostración

En esta sección de la Maven tutorial, echaremos un vistazo a un proyecto de demostración. Para demostrar cómo construir un proyecto usando Maven, he creado un Proyecto Java junto con TestNG usando Eclipse IDE. Este es un programa muy simple en el que he escrito un código para probar el título de un sitio web.

El programa iniciará automáticamente un navegador web, navegará al sitio web mencionado en el código, buscará el título de esa página web y lo comparará con el título esperado. Si el título real y el título esperado coinciden, el caso de prueba pasa; de lo contrario, falla.

Entonces para este proyecto necesitas , Maven y Eclipse descargados en su sistema. Las versiones que estoy usando en mi sistema son las siguientes:

  1. Eclipse - Enterprise Edition versión 4.12.0 (2019-06)
  2. Java - versión 1.8.0_211
  3. Maven - versión 3.6.1
  • Aparte de esto, debe descargar el complemento TestNG para Eclipse y puede descargarlo siguiendo los siguientes pasos:
    • Abra Eclipse y vaya a Ayuda. En Ayuda, haga clic en el mercado de Eclipse.
    • Escriba TestNG en el cuadro Buscar y haga clic en Ir. En los resultados, verá 'TestNG for Eclipse'. Necesitas descargarlo.
  • Después de configurar su sistema con las cosas mencionadas anteriormente, está listo para crear un proyecto de demostración usando Maven. Así que ahora te voy a contar todos los pasos necesarios para hacer esto.
    • En Eclipse, haga clic en Archivo -> Nuevo -> Proyecto Maven.
    • Haga clic en Crear un proyecto simple (omitir la selección de arquetipo) y luego haga clic en siguiente.
  • Ahora verá una ventana con parámetros como Id de grupo, Id de artefacto, etc.
    • El Id. De grupo es el Id. Único de un grupo propietario del proyecto.
    • Artifact Id es el nombre de la unidad de compilación final.
    • Versión es la versión del artefacto creado. SNAPSHOT indica trabajo en progreso.
    • El empaque puede ser jar, war o pom dependiendo de su proyecto. Para nuestro proyecto, seleccionaremos jar. Luego da el nombre de tu proyecto.

tipos de transformación en informática
  • Una vez que cree el proyecto, verá la estructura del proyecto de su proyecto Maven. Aquí puede ver las siguientes cosas:
    • pom.xml
    • src y target
    • src / main / java
    • src / test / java
    • Dependencias de Maven
  • Ahora cree un archivo de clase en src / main / test y asígnele el nombre DemoClass. Esta clase contiene el código de Selenium que estamos usando para probar. Ahora hemos agregado Selenium, las dependencias de TestNG y el compilador Maven y el complemento Surefire al archivo pom.xml. El código para DemoClass y pom.xml se proporciona a continuación:
package maven.selenium.testng import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.annotations.Test public class DemoClass {@Test public void test () arroja InterruptedException {// declaración y instanciación de objetos / variables //System.setProperty('webdriver.gecko.driver','/home/edureka/Downloads/geckodriver ') // WebDriver driver = new FirefoxDriver () // comente las 2 líneas anteriores y descomente las 2 siguientes líneas para usar Chrome System.setProperty ('webdriver.chrome.driver', 'C: UsersArvind PhulareDesktopchromedriver.exe') WebDriver driver = new ChromeDriver () String baseUrl = 'http://newtours.demoaut.com/' String esperadoTitle = 'Welcome: Mercury Tours' String actualTitle = '' // lanza Fire fox y lo dirige a la URL base driver.get (baseUrl) // obtén el valor real del título actualTitle = driver.getTitle () Thread.sleep (3000 ) / * * compare el título real de la página con el esperado e imprima * el resultado como 'Aprobado' o 'Fallido' * / if (actualTitle.contentEquals (pectedTitle)) {System.out.println ('Test Passed!')} else {System.out.println ('Test Failed')} // cerrar Fire fox driver.close ()}}
4.0.0 maven.selenium maven.selenium.testng 0.0.1-SNAPSHOT EdurekaDemo 2.53.1 6.9.10 org.apache.maven.plugins maven-compiler-plugin 1.8 1.8 org.apache.maven.plugins maven-surefire-plugin 2.18 .1 testng.xml org.seleniumhq.selenium selenium-java 3.141.59 org.testng testng 6.14.3 prueba
  • Antes de ejecutar el proyecto, debemos convertir el archivo de clase DemoClass en un archivo TestNG. Para hacer eso, haga clic derecho en DemoClass -> TestNG -> Convertir a TestNG.

  • Ahora para ejecutar el proyecto, haga clic derecho en un proyecto -> Ejecutar como -> Maven clean. Esto borrará el proyecto eliminando todas las compilaciones anteriores.

  • Después de la limpieza de Maven, debe probar el proyecto, ya que hemos escrito el código para probar la aplicación web. Así que haga clic derecho en el proyecto -> Ejecutar como -> Prueba de Maven. Esto abrirá el sitio web y coincidirá con el título del sitio web. Si coincide, nuestro caso de prueba pasará.

  • También podemos ejecutar los comandos anteriores usando un símbolo del sistema. Para eso, necesitamos la ruta del archivo pom.xml.

    • Puede obtener la ruta haciendo clic derecho en el archivo pom.xml -> Propiedades -> Ubicación.
    • Copie la ruta, luego abra un símbolo del sistema y péguelo allí usando cd. cd C: / Usuarios / Arvind Phulare / eclipse-workspace / maven.selenium.testng.
    • Una vez hecho esto, puede volver a escribir comandos de Maven como mvn clean y mvn test.

Así que esto es de mi parte en este blog sobre el tutorial de Maven. Espero que haya entendido las cosas que hemos discutido en este tutorial de Maven.

Ahora que ha entendido este tutorial de Maven, consulte este por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso Edureka DevOps Certification Training ayuda a los alumnos a comprender qué es DevOps y a adquirir experiencia en diversos procesos y herramientas de DevOps, como Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack y GIT para automatizar varios pasos en SDLC.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este tutorial de Maven y nos comunicaremos con usted.