Maven Flashcards

1
Q

Cual es el proposito de maven

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como se verifica la version de maven

A

mvn –help, para que esto funcione se debio de haber declarado la variable MAVEN_HOME en nuestro sistema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cuales son las secciones de un pom y que sigifica

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe la estructura que busca maven por default

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Para que sirve mvn clean

A

Borra el directorio target

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Para que sirve mvn compile

A

Compilar y genera los recursos necesarios

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Para que sirve mvn package

A

Compila + pruebas + empaqueta dependiendo de tipo de empaquetado que se definio en el POM

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Para que sirve mvn install

A

Compila + package + instala en repositorio local

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Para que sirve mvn deploy

A

Compila+ package + instala en repositorio remoto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Que funcion tiene la carpeta target en maven

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Donde esta nuestro repositorio local

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Para que sirve SNAPSHOT

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Ademas de SNAPSHOT que otras cosas podemos encontrar en nomenclatura

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cual es el tipo de empaquetado por default y cuales son otros tipos de empaquetamientos

A

por default es jar pero podemos hacer war, rar, ear, y pom que seria para empaquetar una serie de pom’s

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que son las transitive dependencies y por que debemos confiar en ellas

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cuales son los scopes para las dependencias?

A

compile(Solo para tiempo de compilacion), provided(igual que compiles pero no se va a empaqutar en artefacto final), runtime(solo se utiliza en tiempo de ejecucion, nos la puede proveer el servidor), test(solo para fase de pruebas ), system (no usar, fija una dependencia a un archivo local de la computadora),import es para poms

17
Q

Que son los repositorios

A

esta el local y el remoto, este ultimo esta alojado en una url http y puede haber repositorios que solo nos den el releases y otros que nos den snapshots, tambien estan los repos de plugins que cumplen la misma funcion pero solo para plugins, por default tenemos un super pom el cual esta configurado al repo de maven por default

18
Q

Cuales son las fases de un plugin

A

validate, compile, test, package, integration test, verify, install, deploy

19
Q

Como se sobreescribe la version de java por medio de buils

A

Build-Plugins-plugin-configuration-target y source

20
Q

Para que sirve el plugin de compile

A

compila y ejecuta pruebas, por default esta con java 1.5

21
Q

Para que sirve el plugin de jar

A

empaquetar y podemos incluir o excluir por ejemplo el source code o crear un manifest

22
Q

Para que sirve el plugin de source

A

Sirve para incluir el source code en forma de jar generalmente se sobreescribe en una fase posterior para evitar que lo ejecute cada que se empaqueta por ejemplo en la fase de verify se sobrescribe

23
Q

Para que sirve el plugin de javadoc

A

Sirve para incluir el javadoc en forma de jar generalmente se sobreescribe en una fase posterior para evitar que lo ejecute cada que se empaqueta por ejemplo en la fase de verify se sobrescribe