Skip to content

Grâce à Maven, vous allez pouvoir gérer les dépendances de votre projet et automatiser sa construction (compilation, test, production de livrable...)

License

Notifications You must be signed in to change notification settings

camara94/maitriser-maven

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Organiser et packager une application java avec Apache Maven

Grâce à Maven, vous allez pouvoir gérer les dépendances de votre projet et automatiser sa construction (compilation, test, production de livrable...)

Résumé de la formation

Nous allons apprendre à:

  • Demarrer un apache maven
  • Organiser un projet maven
  • Personnaliser les differente étape de sa construction
  • livrer les livrable avec un site descriptif et différent rapport de celui-ci.

Les objectifs de ce cours

  • Apprendre le fonctionnement et les principes généraux de Maven
  • Intégrer l'utilisation de Maven dans votre IDE (Eclipse et IntelliJ)
  • Initialiser un projet Maven
  • Organiser un projet Maven multi-modules
  • Personnaliser la construction (build) du projet avec des plugins
  • Générer un site documentaire du projet et des rapports sur la construction (résultat des tests, qualité du code...)

Les références sur Apache Maven

Prérequis

Pour installer Apache Maven, il nous faut avoir mis en place java dans notre pc, vous pouvez télécharger JDK sur lien suivant https://www.oracle.com/java/technologies/javase-downloads.html et pour plus de détail sur la configuration de java https://github.com/camara94/overview_java_dev#variables-denvironnement-java

Installez Apache Maven

Téléchargement

éléchargez Apache Maven depuis le site officiel (les checksums sont aussi fournis sur la page de téléchargement) : https://maven.apache.org/download.cgi

Téléchargement selon votre Système:

  • Binary tar.gz archive si vous êtes sous Linux ou Mac OS
  • Binary zip archive si vous êtes sous Windows

Définir les variables d'environnement

Ensuite, il faut définir le chemin vers le JDK grâce à la variable d'environnement JAVA_HOME et ajouter les binaires du JDK et de Maven au PATH :

  • sous Linux : ajoutez ces lignes, en les adaptant, à la fin de votre fichier /.bashrc (ou /.zshrc si vous utilisez Zsh) :
      export JAVA_HOME="/chemin/vers/repertoire/env/java/jdk1.8.0_131"
    

MAVEN_HOME="/chemin/vers/repertoire/env/maven/apache-maven-3.5.0" PATH="$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin"
Si votre fichier contient déjà une ligne du type PATH=..., conservez-la et ajoutez aussi la ligne ci-dessus dans le fichier.

  • sous Mac OS Même principe que pour linux
  • sous Windows : Ouvrez les propriétés système (avec la commande Win + Pause),
    dans l'onglet « Avancé », cliquez sur le bouton « Variables d'environnement »
    1. Modifiez la propriété nommée Path en ajoutant ceci (à adapter): variable en

Tester l'installation

Testez maintenant l'installation de Maven :

    • sous Linux / Mac OS : ouvrez un nouveau terminal
    • sous Windows : ouvrez une nouvelle console (Win + R, puis taper cmd, puis Entrée
  1. Exécutons la commande suivante :

    mvn -v

  2. Vous devriez obtenir un résultat ressemblant à ceci, si tout c'était bien passé. mvnv

Configurez Apache Maven

La configuration de Maven se fait dans le fichier .${home}/.m2/settings.xml, dans le répertoire home de l'utilisateur (~/.m2/settings.xml sous Linux). Ce fichier n'existe pas par défaut, copiez celui contenu dans le répertoire conf de l'installation de Maven.

Maven télécharge les dépendances dans un repository local pour les gérer. Par défaut, il est situé dans le répertoire ${home}/.m2/repository dans le home de l'utilisateur (~/.m2/repository sous Linux). Ce répertoire peut vite prendre beaucoup de place et je vous conseille de le sortir de votre home pour le mettre dans le répertoire d'environnement de développement. Pour cela, il faut modifier le fichier settings.xml comme ceci :


<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    ...
    <!-- localRepository
    | The path to the local repository maven will use to store artifacts.
    |
    | Default: ${user.home}/.m2/repository -->
    <localRepository>/chemin/vers/repertoire/env/maven/repository</localRepository>
    ...
</settings>

Vous trouverez plus de détails sur la configuration de Maven dans la documentation officielle :

Utilisez Apache Maven avec votre IDE

Eclipse

Installation

Si vous avez téléchargé le package Eclipse IDE for Java EE Developpers ou Eclipse IDE for Java Developpers, le plugin de support de Maven est déjà embarqué.

Sinon, vous pouvez installer le plugin M2Eclipse.
Ouvrez les préférences (Window > Preferences) :

  • Maven
    • Installation
      1. Ajoutez une nouvelle installation externe : image
      2. Cochez la nouvelle installation que vous venez de créer pour qu'elle devienne celle par défaut.
    • User Settings :
      • User Settings : /chemin/vers/home/utilisateur/.m2/settings.xml

IntelliJ

Le support de Maven est embarqué par défaut dans JetBrains IntelliJ.

Configuration

Ouvrez les préférences par défaut (File > Other Settings > Default Settings...) :

  • Build, Execution Deployment > Build Tools > Maven : intel
    • Maven home directory /chemin/vers/repertoire/env/maven/apache-maven-3.6.3
    • User settings file : /chemin/vers/home/utilisateur/.m2/settings.xml (si le chemin par défaut est incorrect, cochez la case Override et saisissez le bon chemin)

Créez votre premier projet Maven

Maven utilise une approche dite « convention over configuration » (ou convention plutôt que configuration en français). Cela signifie que Maven a établi un certain nombre de conventions et que si vous les respectez, beaucoup de choses seront automatiques. Vous n'aurez donc que très peu de configuration à faire !

Une des premières conventions concerne l'arborescence d'un projet Maven. Celle-ci étant fixée (cf. documentation), Maven vous permet de générer un squelette de votre projet. C'est ce que je vais vous montrer tout de suite.

Générer un squelette de projet Maven

Afin de générer le squelette d'un projet, Maven s'appuie sur des archétypes (ce sont des sortes de modèles). Ici, nous allons tout simplement demander à Maven de nous générer un squelette à partir de l'archétype quickstart
Voici comment générer le squelette en mode console :

  1. Ouvrez un terminal (ou une console) et placez-vous dans le répertoire où vous voulez créer le projet (Maven y créera un sous-répertoire pour votre nouveau projet).

    cd maitriser-maven

  2. Générer un archétype :

    mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.1

  3. Maven va vous poser des questions afin de personnaliser la génération de votre projet :
    • groupId: com.stardevcgroup
    • artefactId: mawatta
    • version (1.0-SNAPSHOT): laissez vide
  4. Ensuite Maven vous demande de confirmer les paramètres, il vous suffit donc presser la touche Entrée
  5. Maven crée le squelette du projet : vous devriez voir un résultat comme celui-ci : mvn créer

Qu'est-ce qui a été généré ?

Maven a créé le répertoire mawatta (valeur de l'artifactId saisie plus tôt) et y a généré l'arborescence suivante : mvntree J'ai ainsi obtenu :

  • un fichier >pom.xml à la racine de mon projet. C'est le fichier de description/configuration du projet Maven.
  • un répertoire src/main/java. C'est le répertoire contenant les sources de mon application, contenant pour l'instant un unique fichier App.java situé dans le package com.stardevcgroup.
  • un répertoire src/test/java. C'est le répertoire contenant les sources des tests JUnit de mon application, contenant pour le moment un unique fichier AppTest.java situé dans le package com.stardevcgroup .

Dans le fichier pom.xml, on retrouvera les paramètres saisis lors de la génération (groupId, artifactId, version) : pomxml Vous remarquez également que l'application a une dépendance en « test » vers JUnit version 3.8.1. Nous y reviendrons plus loin dans ce cours

Le fichier App.java, quant à lui, n'est qu'un simple Hello world : app

Construisez votre nouveau projet

Ouvrez une console à la racine du projet (répertoire **mawatta), là où se trouve le fichier **pom.xml

mvn package

build

java -cp target\mawatta-1.0-SNAPSHOT.jar com.stardevcgroup.App

mawatta

About

Grâce à Maven, vous allez pouvoir gérer les dépendances de votre projet et automatiser sa construction (compilation, test, production de livrable...)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages