Maven Flashcards

1
Q

A quoi sert un POM parent ?

A

Il permet de centraliser certaines informations (propriétés, repository, …) dont ses enfants hériteront

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

A quoi servent <dependencymanagement></dependencymanagement> et <pluginmanagement></pluginmanagement> ?

A

A fixer dans un projet parent les versions qui seront à la disposition des modules. Cela ne force pas les sous-projets à les inclure pour autant.

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

Comment définir et utiliser des propriétés ?

A
  • Définition: <properties></properties>
  • Utilisation: ${some.property}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A quoi sert un profil ?

A

A exécuter de manière conditionnelle certaines parties du build d’un projet

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

Comment activer un profil ?

A
  • En ligne de commande: -Pprofile_name
  • Sur une condition: propriété, os, fichier, …: au moyen de <activation></activation>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Comment définir un projet multi-modules ?

A
  • Dans les sous-projets, définir le projet parent
  • Dans l’aggrégateur, définir les modules au moyen de <modules></modules>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quelle est le but du Reactor ?

A

Déterminer les dépendances entre les modules pour déduire l’ordre du build

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

Quelle est la différence entre la recherche d’une dépendance SNAPSHOT et d’une dépendance RELEASE ?

A
  • Une version RELEASE est supposée être stable. Si Maven trouve dans le repository local il s’en contente, sinon il va chercher dans le repository des releases
  • Une version SNAPSHOT est supposée sujette à modification. Même si Maven en trouve une version dans le repository local, si elle est trop ancienne il va en chercher une version plus récente dans le repository des snapshots.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Comment les dépendances SNAPSHOT sont-elles stockées dans le nexus ?

A

Le suffixe SNAPSHOT disparait et est remplacé par le timestamp correspondant au déploiement de l’artifact.

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

Quelles sont les différentes politiques de mise à jour des snapshots ?

A
  • daily (défaut): la recherche de mise à jour se fait sur le premier build de la journée
  • interval: intervalle en minutes. Le timestamp de l’artifact local est comparé au timestamp du repository distant.
  • always
  • never
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Décrire ce que fait release:prepare

A
  1. Vérifier qu”il n’y a pas de modifications locales
  2. Vérifier qu’il n’y a pas de dépendence SNAPSHOT
  3. Modifier les versions dans les POMs de SNAPSHOT vers RELEASE
  4. Modifier l’information SCM dans le POM pour inclure le tag
  5. Exécuter les tests
  6. Commiter les POMs modifiés
  7. Créer le tag dans le SCM
  8. Bumper la version pour passer au SNAPSHOT et commiter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Décrire ce que fait release:perform

A
  1. Extraire et builder la version taggée par prepare
  2. Déployer les artefacts dans les repositories locaux et distants
How well did you know this?
1
Not at all
2
3
4
5
Perfectly