I have joined Anti-IF Campaign

Générer from scratch votre application Struts 2, JPA 2, HTML5, Bootstrap Twitter en REST et CoC

Dans nos précédents articles, voir http://techasite.blogspot.fr/2012/11/nouvelle-version-struts-2-jpa-2-html5.html)
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 : 

2 commentaires:

  1. Une belle illustration de la puissance de Maven! Merci pour cet doc détaillée. Beau travail!

    RépondreSupprimer
  2. J'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