Nous allons voir comment mixer un projet Java Maven classique avec un projet frontal Yeoman à l'aide du plugin
yeoman-maven-plugin de
Thomas Recloux, qui est aussi utilisé dans
JHipster.
Le frontal Web écrit en Javascript va utiliser les services REST du back écrit en Java. Le tout dans un seul et même projet et packagé au sein d'un même Jar ou War.
Arborescence du projet
pom.xml => Fichier Maven
src => Source du projet
main
java
resources
webapp
test
java
resources
yo => Projet Yeoman
package.json
Gruntfile.js
bower.json
app/
Le répertoire "yo" contient les sources du projet Yeoman qui ne sont pas inclus directement dans les sources du projet. Ceci permet de conserver un projet Yeoman indépendamment du reste du projet qui lui respecte la structure d'un projet Maven.
Maven
La construction du projet "Yeoman" s'effectuera à l'aide de la commande "grunt build" lancée par Maven via le plugin
yeoman-maven-plugin.
Ce build nécessite l'appel aux outils "npm", "bower" et "grunt".
Ainsi le plugin va lancer les commandes suivantes par défaut :
npm install
bower install --no-color
grunt test --no-color
grunt build --no-color
Ainsi, Maven lance npm, bower puis grunt lors de chaque build de l'application.