Cette page est une introduction minimale à la création d’archétypes Maven (des modèles de projets). Pour plus de détails, http://maven.apache.org/archetype/maven-archetype-plugin/
Pour créer un archétype Maven, il faut commencer par créer un répertoire de travail. Dans ce répertoire, créer un fichier
#Propriétés standards archetype.groupId=fr.univtln.login archetype.artifactId=myapp archetype.version=1.0-SNAPSHOT #Paramètres de filtrage archetype.languages=java #Propriétés personnelles scmURL=scm:git:ssh://git@lsis.univ-tln.fr/samplegit.git
qui contient des propriétés (standards ou non) et leur valeur par défaut. Quand l’archétype va être produit chaque valeur (par ex. fr.univtln.login) va être recherchée dans les fichiers java et remplacée par une variable (par ex. ${archetype.groupId})
(cf. http://maven.apache.org/archetype/maven-archetype-plugin/examples/create-with-property-file.html).
Dans ce répertoire, créer le projet qui servira de base, cela peut être fait en utilisant un archétype déjà existant avec la commande mvn archetype:generate. Le projet peut être modifié comme un projet classique (ajout de .gitignore, modification du pom.xml, …).
A partir de la racine de ce projet, l’exécution de la commande
mvn archetype:create-from-project -Darchetype.properties=../archetype.properties
produit l’archétype dans le répertoire target/generated-sources/archetype.
Les sources du modèle du projet se trouve dans target/generated-sources/archetype/src/main/resources/archetype-resources/
On peut vérifier que le squelette du code est correct :
.idea, les fichier .iml, …).archetype.properties dans le pom.xml).META-INF/archetype-metadata.xml contient les paramètres de génération (produits en partie à partir du archetype.properties). Ce ficher peut être éditer pour contrôler plus finement la génération.
L’archétype peut ensuite être installé (mvn install depuis target/generated-sources/archetype) dans le repository local (.m2/repository).
Il peut ensuite être testé localement en créant un projet depuis un autre répertoire avec mvn archetype:generate … (cf. Projet Java de base avec Maven pour le passage des paramètres).
L’archétype peut être déployé sur un repository partagé en ajoutant les paramètres de l’entrepôt Maven dans target/generated-sources/archetype/pom.xml (cf. Utiliser un repository Maven (Artifactory)) puis avec mvn deploy.