Maven Flashcards
Cual es el proposito de maven
Crear un artefacto automatizando el proceso de construccion, tambien es usado para versionar nuestro codigo usando convenciones sobre configuraciones, es decir nos v a dar muchos defaults
Como se verifica la version de maven
mvn –help, para que esto funcione se debio de haber declarado la variable MAVEN_HOME en nuestro sistema
Cuales son las secciones de un pom y que sigifica
POM significa Project Object Model y sus partes son informacion del proyecto(grouid, artifictid y version son los minimos requeridos), Depencencias, Build(donde se sobreescriben defaults) y repositorios
Describe la estructura que busca maven por default
Por default se espera que haya esta estructura de directorios src/main/java para sources src/test/java para pruebas target al mismo nivel de src para todo lo compilado
Para que sirve mvn clean
Borra el directorio target
Para que sirve mvn compile
Compilar y genera los recursos necesarios
Para que sirve mvn package
Compila + pruebas + empaqueta dependiendo de tipo de empaquetado que se definio en el POM
Para que sirve mvn install
Compila + package + instala en repositorio local
Para que sirve mvn deploy
Compila+ package + instala en repositorio remoto
Que funcion tiene la carpeta target en maven
Es donde se va a generar el codigo compilado(.classes) y todo lo que se requiera para la ejecucion, esta carpeta es borrada cuando hacemos un mvn clean, es de donde corre nuestro codigo correra y desde donde veran las unit test para ejecutarse
Donde esta nuestro repositorio local
Generalmente se encuentra en nuestro directorio root y esta escondido y es llamado .m2 asi que si lo queremos ver tenemos que ir al source y dar un ls -la en un sistema operativo tipo linux
Para que sirve SNAPSHOT
En maven es la unica regla que tiene validez en maven, quiere decir que siempre va a estar buscando bajar los cambios en nuestro codigo, esto NUNCA se debe de dedeployar asi ya que es una version dinamica y en produccion solo se debe tener un determinado estado de codigo y no estar bajando cosas que no sepamos necesariamente si vayan a romper algo, “-SNAPSHOT” siempre debe de ir al final para que cumpla su cometido
Ademas de SNAPSHOT que otras cosas podemos encontrar en nomenclatura
SNAPSHOT es una palabra reservada en maven y es la unica que tiene una funcionalidad dentro de maven, sin embargo podemos encontrar nomenenclaturas como app-1.0.jar, app-1.0.M1(Milestone), app-1.0.RC(Release Candidate), app-1.0-Final, todas estas opciones de nombramiento no tienen ningun significado en maven solo son para informar a quienes son nuestros clientes y usan nuestras librerias que son estables o no
Cual es el tipo de empaquetado por default y cuales son otros tipos de empaquetamientos
por default es jar pero podemos hacer war, rar, ear, y pom que seria para empaquetar una serie de pom’s
Que son las transitive dependencies y por que debemos confiar en ellas
Son las dependencias que requiere nuestra dependencia, y debemos confiar en ellas ya que son los mismos autores de la libreria los que nos las definen, es como decir si quieres usar mi libreria tienes que usar estas otras