nous décrivions la structure d'une appplication Struts 2, JPA 2, Twitter Bootstrap.
Voici un nouvel article concernant notre application.
Cette fois, nous allons vous présenter la méthode à suivre pour générer entièrement cette application "from scratch" simplement.
Cette procédure s'appuie sur les éléments suivants :
- maven et un archétype du central repository
- une base de données Derby portable (sans installation)
pré-renseignée (avec toutes les tables et données nécessaires) - le plugin Telosys Tools récupérable depuis l'Eclipse Marketplace
- un bon vieux Tomcat
Voici la procédure :
- Installez le plugin Telosys pour Eclipse
Eclipse Marketplace > Telosys tools 2.0.2 : http://marketplace.eclipse.org/content/telosys-tools
Ce plugin nous permettra de générer les pages et classes java pour chaque entité de notre base de données - Créez un nouveau projet à partir de l'archétype starter kit pour Struts :
Pour cela en ligne de commande lancer : mvn archetype:generate
Choisir : org.telosys.starterkits:struts-jpa-starterkit
Il est disponible sur le central repository :
http://repo1.maven.org/maven2/org/telosys/starterkits/struts-jpa-starterkit/1.0.0/ - Répondez aux différentes questions, exemple :
Define value for property 'groupId': : org.test
Define value for property 'artifactId': : teststruts
Define value for property 'version': 1.0-SNAPSHOT: :
Define value for property 'package': org.test: :
Confirm properties configuration:
groupId: org.test
artifactId: teststruts
version: 1.0-SNAPSHOT
package: org.test
Y: : Y - Votre nouveau projet possède alors de base :
les dépendances et les classes génériques nécessaires au fonctionnement de notre applicationle répertoire
TelosysTools contenant les templates et le dbrep (repository de TelosysTools) - Importez le projet dans Eclipse en tant que projet maven existant
Clic droit > import > Existing Maven Projects puis sélectionnez le répertoire du projet
Il est possible de rencontrer des problèmes à cette étape.
Il faut s'assurer d'avoir dans Eclipse le plugin m2e d'installé ainsi que m2e-wtp (pour permettre l'intégration avec wtp).
Lancer un maven > update project si Eclipse le demande - Sous Eclipse, double-cliquez sur le fichier TelosysTools/repos/DerbyTelosysBookStore.dbrep
Le plugin Telosys devrait alors prendre la main et ouvrir une fenêtre de gestion des entités et de la génération
Pour plus d'information sur le plugin, consultez le site : https://sites.google.com/site/telosystools/ - Ouvrez onglet "Bulk generation" (en bas de la fenêtre)
- Sélectionnez toutes les entités et toutes les targets
- Lancez la génération à l'aide du bouton "Generate"
- Confirmez l'opération pour lancer la génération
Un message de confirmation devrait vous indiquer 129 fichiers crées - Toutes les classes et pages ont étés générées
dans les répertoires src/main/java et /src/main/webapp/WEB-INF/pages
Si tout va bien votre projet de comporte pas d'erreur de compilation
Les répertoires cibles sont bien évidement paramétrables - Ajoutez le projet dans les webapp de Tomcat 6 (6 ou + a créer si aucun serveur n'est déclaré)
Le site de tomcat http://tomcat.apache.org/
Si vous préférez jetty, ca marche bien évidement aussi, l'application générée étant conforme aux spécifications JEE. - Récupérez le bookstore Derby
disponible depuis : http://forge.ow2.org/project/download.php?group_id=196&file_id=17359
C’est une archive contenant une version portable et autonome de notre base de données Derby
Extrayez l'archive du bookstore Derby dans un répertoire de votre choix en dehors d'Eclipse - Démarrez la base de données Derby du bookstore (start.bat)
- Démarrez Tomcat 6
- Ouvrez l'url de l'application : http://localhost:8080/xxxx/
- Enjoy
Nous tenterons de faire une vidéo sur Youtube de cette procédure.
Références utiles :
- Le site de Telosys : http://www.telosys.org/
- La doc : https://sites.google.com/site/telosystools/
- L'update site : http://marketplace.eclipse.org/content/telosys-tools
- Le site google code : https://code.google.com/p/telosys-tools/
- Le jar struts-jpa-starterkit dans le central repository : http://repo1.maven.org/maven2/org/telosys/starterkits/struts-jpa-starterkit/1.0.0/
- Le code source de l'archetype maven : https://github.com/asicfr/starterKitStruts-archetype.git
Une belle illustration de la puissance de Maven! Merci pour cet doc détaillée. Beau travail!
RépondreSupprimerJ'ai ce message à la génération BULK : "Template "bean_jpa.vm" - Enity: "AUTHOR". Invalid reference(bean_jpa.vm line 6) $beanClass: get 'null'. des idées ?
RépondreSupprimer