=====Création d'un Dynamic Web Project===== Les projets dynamiques nécessitent d'avoir Tomcat installé. Faire ''File|New|Dynamic Web Project''. Il est alors nécessaire de configurer la version de ''Tomcat'' à utiliser, de préférence utiliser la dernière version disponible. Sélectionnez la ''Target runtime'' ou créez en une via [[ide:eclipse:tomcat#ajout_d_un_serveur_tomcat|New Runtime…]]. Sélectionnez ''Next'' puis ''Next'' et cochez si nécessaire ''Generate web.xml deployment descriptor'' avant la création du projet. Normalement, le fichier ''web.xml'' devient facultatif avec les annotations depuis Java 1.5 mais il peut être préférable de le générer au cas où, quitte à le laisser vide. {{ide:eclipse:projet:1.png|Étape 1}}{{ide:eclipse:projet:6.png|Étape 2}}{{ide:eclipse:projet:7.png|Étape 3}}{{ide:eclipse:projet:8.png|Étape 4}} =====Activer le support des JSF===== Dans le menu ''Project|Properties'', allez dans l'onglet ''Project Facets'' et cochez ''JavaServer Faces'' dans sa dernière version. Puis cliquez sur ''Further configuration required'' en bas de la fenêtre. Il est indiqué qu'il y a besoin d'une ''JSF Implementation Library''. Cliquez simplement sur l’icône ''Download library…'' et cochez la dernière version de ''Mojarra''. Veillez bien à laisser cocher la case ''Configure JSF servlet in deployment descriptor''. {{ide:eclipse:projet:10.png|Étape 1}}{{ide:eclipse:projet:11.png|Étape 2}}{{ide:eclipse:projet:12.png|Étape 3}}{{ide:eclipse:projet:13.png|Étape 4}}{{ide:eclipse:projet:14.png|Étape 5}}{{ide:eclipse:projet:15.png|Étape 6}}{{ide:eclipse:projet:16.png|Étape 7}} =====Activer le support de JAX-RS (REST)===== Dans le menu ''Project|Properties'', allez dans l'onglet ''Project Facets'' et cochez ''JAX-RS (REST Web Services)'' dans sa dernière version. Puis cliquez sur ''Further configuration required'' en bas de la fenêtre. Il est indiqué qu'il y a besoin d'une ''User Library''. Cliquez simplement sur l’icône ''Manage libraries…''. Ajoutez une nouvelle librairie ainsi que le jar ''javax.ws.rs-api.jar'' et validez. Cette librairie se trouve dans [[https://jersey.java.net/download.html|Jersey 2.25]], {{ :ide:eclipse:rest:jaxrs-ri-2.25.zip |Archive}} ​Attention au bug [[ide:eclipse:bugs#the_class_is_required_to_be_in_the_selected_libraries|The class '…' is required to be in the selected libraries.]] Veillez bien cocher (si nécessaire) la case ''Update Deployment Descriptor'' qui va mettre à jour le fichier ''web.xml''. Avant de valider la migration, vérifier que le bon ''Runtime'' (serveur ''Tomcat'') est sélectionné. Ensuite ajouter toutes les librairies de ''Jersey'', celles du dossier ''lib'', ''ext'' et ''api'' dans le [[ide:eclipse:tomcat#modifier_la_variable_systeme_classpath|Classpath]] de Tomcat. Avec le ''…-api.jar'', Java a tout ce qu'il faut pour compiler les ''.class''. Mais c'est Tomcat qui devra exécuter le tout. Il n'est pas nécessaire de les dans le ''buildpath'' au projet mais il faut mettre les librairies dans le dossier ''WebContent/lib''. {{ide:eclipse:projet:10.png|Étape 1}}{{ide:eclipse:rest:rest2.png|Étape 2}}{{ide:eclipse:rest:rest3.png|Étape 3}}{{ide:eclipse:rest:rest4.png|Étape 4}}{{ide:eclipse:rest:rest5.png|Étape 5}}{{ide:eclipse:rest:rest6.png|Étape 6}} =====Création d'un Projet JPA===== Pour mémoire : ^Version d'EclipseLink^Java SE supporté^ |2.7.0|8| |2.6.0|7| |2.5.0|1.5| __Méthode EclipseLink__ Commencer par créer un projet ''Java'' ou ''Dynamic Web Project'' en fonction des besoins. Puis éditez les propriétés du projet ''Project|Properties'' et ajoutez la fonction ''JPA'' dans l'onglet ''Project Facets''. Sélectionnez ensuite l'implémentation de ''JPA'' : ''EclipseLink'' ou ''Generic'' et téléchargez-le. Ajoutez la connexion via ''Add connection...'' en choisissant le type de base de donnée (''MySQL'', ''Oracle'', ...) et enfin le driver. Dans la fenêtre ''New Driver Definition'', prenez le driver. Dans ce cas, ''Eclipse'' ne permet pas un téléchargement automatique. Téléchargez alors le fichier jar demandé, [[https://dev.mysql.com/downloads/connector/j/5.1.html|mysql-connector-java-5.1.0-bin.jar]] et [[https://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi|DBCP]] par exemple, dans le dossier ''lib'' (ou ''WebContent/WEB-INF/lib''), éditez-le via l'onglet ''JAR List'' et complétez les données de connexion (''URL'', utilisateur et mot de passe). Dans la fenêtre principale, cochez ''Add driver library to build path'' ainsi que ''Override default schema from connection''. Enfin, sélectionnez le ''runtime''. À ce stade, le fichier ''persistence.xml'' est vide et doit être rempli soit manuellement, soit via l'IHM d'Eclipse. L'intérêt de cette méthode est de configurer Eclipse pour qu'il puisse se connecter à la base de données. Cela ne dispense pas de configurer correctement le fichier ''persistance.xml'' en fonction de l'implémentation choisie. {{ide:eclipse:projet:jpa01.png?200|JPA Etape 1}}{{ide:eclipse:projet:jpa02.png?200|JPA Etape 2}}{{ide:eclipse:projet:jpa03.png?200|JPA Etape 3}}{{ide:eclipse:projet:jpa04.png?200|JPA Etape 4}}{{ide:eclipse:projet:jpa05.png?200|JPA Etape 5}}{{ide:eclipse:projet:jpa06.png?200|JPA Etape 6}}{{ide:eclipse:projet:jpa07.png?200|JPA Etape 7}}{{ide:eclipse:projet:jpa08.png?200|JPA Etape 8}}{{ide:eclipse:projet:jpa09.png?200|JPA Etape 9}}{{ide:eclipse:projet:jpa10.png?200|JPA Etape 10}}{{ide:eclipse:projet:jpa11.png?200|JPA Etape 11}}{{ide:eclipse:projet:jpa12.png?200|JPA Etape 12}}{{ide:eclipse:projet:jpa13.png?200|JPA Etape 13}}{{ide:eclipse:projet:jpa14.png?200|JPA Etape 14}}{{ide:eclipse:projet:jpa15.png?200|JPA Etape 15}}{{ide:eclipse:projet:jpa16.png?200|JPA Etape 16}} __Méthode Hibernate__ Si vous préférez utiliser Hibernate : * - Téléchargez le plugin pour [[http://tools.jboss.org/downloads/|Eclipse]] et redémarrez ''Eclipse'', * - Dans l'étape précédente, lors de la configuration de JPA, sélectionnez ''Hibernate'', * - Il n'est pas possible de télécharger automatiquement ''Hibernate''. [[http://hibernate.org/orm/downloads/|Téléchargez Hibernate]] manuellement et copiez le contenu du dossier ''lib/required'' (à l'exception éventuelle de ''el-api-2.2.jar'' qui est peut-être déjà ajouté dans le ''build path'' avec ''Tomcat'') dans le dossier ''WebContent/WEB-INF/lib/hibernate'' (actualisez ci-nécessaire l'arborescence pour qu'Eclipse détecte le changement). Attention au bug [[:ide:eclipse:bugs#the_class_is_required_to_be_in_the_selected_libraries|The class '…' is required to be in the selected libraries.]] {{ide:eclipse:projet:jpa17.png?200|JPA Hibernate 1}}{{ide:eclipse:projet:jpa18.png?200|JPA Hibernate 2}}{{ide:eclipse:projet:jpa19.png?200|JPA Hibernate 3}} =====Création d'un Projet Maven Web Dynamic===== Commencez par créer le projet ''File|New|Maven Project'', passez la première page ''Next'' et sélectionnez l'Artifact ''maven-archetype-webapp''. Choisissez un ''Group Id'' : ''com.llgc'' et un ''Artifact Id'' : le nom du projet puis validez. {{ide:eclipse:projet:mv01.png?200|Étape 1}}{{ide:eclipse:projet:mv02.png?200|Étape 2}}{{ide:eclipse:projet:mv03.png?200|Étape 3}}{{ide:eclipse:projet:mv04.png?200|Étape 4}}{{ide:eclipse:projet:mv05.png?200|Étape 5}} Activez les ''JavaServer Faces'' en version 1.1 avec l'installation de la librairie nécessaire (voir paragraphe précédent). Maven par défaut ne supporte pas une version supérieure. {{ide:eclipse:projet:mv06.png?200|Étape 6}}{{ide:eclipse:projet:mv07.png?200|Étape 7}}{{ide:eclipse:projet:mv08.png?200|Étape 8}}{{ide:eclipse:projet:mv09.png?200|Étape 9}}{{ide:eclipse:projet:mv10.png?200|Étape 10}}{{ide:eclipse:projet:mv11.png?200|Étape 11}} Allez dans le fichier ''pom.xml'', ajoutez la structure suivante dans la balise '''' puis validez par un ''Maven|Update Project...''. org.apache.maven.plugins maven-compiler-plugin 3.1 1.8 1.8 Ensuite, modifier l'entête du fichier ''web.xml'' de en puis faire un ''Maven|Update Project...''. Fermez ensuite le projet et éditez le fichier ''.settings\org.eclipse.wst.common.project.facet.core.xml'' en remplaçant les lignes '''' par '''' et '''' par ''''. Rouvrez le projet et laisser Maven faire la mise à jour automatiquement. Créez un serveur en faisant ''File|New|Other'' et sélectionnez ''Server'' puis suivez les instructions du paragraphe ''Création d'un Dynamic Web Project'' avec un serveur ''Tomcat v8.0''. Allez dans le menu ''Project|Properties'' et l'onglet ''Project Facets''. Déselectionnez JavaServer Faces et appliquez puis resélectionnez et ensuite téléchargez la librairie en version 2.2 puis revalidez encore. Et enfin, sélectionnez le runtime nouvellement créé ''Tomcat v8.0''. {{ide:eclipse:projet:mv12.png?200|Étape 12}}{{ide:eclipse:projet:mv13.png?200|Étape 13}}{{ide:eclipse:projet:mv14.png?200|Étape 14}}{{ide:eclipse:projet:mv15.png?200|Étape 15}}{{ide:eclipse:projet:mv16.png?200|Étape 16}}{{ide:eclipse:projet:mv17.png?200|Étape 17}}{{ide:eclipse:projet:mv18.png?200|Étape 18}}{{ide:eclipse:projet:mv19.png?200|Étape 19}}{{ide:eclipse:projet:mv20.png?200|Étape 20}} Si besoin, ajouter la dépendance à ''JSTL'' dans ''pom.xml'' : jstl jstl 1.2 =====Création d'un Projet Spring===== Il suffit d'installer ''Spring Tool Suite (STS) for Eclipse'' depuis ''Eclipse Marketplace''. Selon [[http://download.springsource.com/release/STS/doc/STS-feature_comparison.pdf|Spring Source]], {{ :ide:eclipse:projet:sts-feature_comparison.pdf |Archive}}, c'est ce qu'il y a de plus complet. Il peut être aussi nécessaire d'installer avec [[http://dist.springsource.org/snapshot/GRECLIPSE/e4.6]] si vous rencontrez lors d'une mise à jour ultérieure le message suivant : ''Searching alternate solutions...": org.codehaus.groovy.eclipse 2.9.2.xx-201608111527-e45 is unknown in the solver!''. [[https://marketplace.eclipse.org/content/buildship-gradle-integration|Buildship Gradle Integration _ Eclipse Plugins, Bundles and Products - Eclipse Marketplace]] Ensuite, pour créer un projet Spring, c'est très certainement la variante ''Spring Legacy Project'' que vous voulez. Il reste ensuite à télécharger la [[http://repo.spring.io/release/org/springframework/spring/|libraire Spring]] et [[#installation_d_une_librairie|installer]] au minimum les jar suivants (pour l'utilisation des Beans) : ''spring-beans'', ''spring-context'', ''spring-core'' et ''spring-expression''. La librairie [[http://commons.apache.org/proper/commons-logging/download_logging.cgi|Apache Logging]], {{ lang:java:jdbc:commons-logging-1.2-bin.tar.gz |Archive}} est également nécessaire. Pour utiliser les aspects, il ne faut surtout pas configurer son projet en ''AspectJ'' mais mettre les librairies ''aspectrt.jar'' et ''aspectjweaver.jar'' dans le ''Build Path'' ainsi que la libraire ''spring-aop''. Si le projet est configuré est ''AspectJ'', le compilateur ''aj'' va faire tout le travail et le fichier ''Beans.xml'' ne servira à rien. =====Installation d'une librairie===== L'installation efficace d'une librairie nécessite d'avoir son fichier ''.jar'' ainsi que sa documentation au format ''javadoc''. Ces deux fichiers seront à copier dans le dossier ''lib'' de chaque projet (ou ''WebContent/WEB-INF/lib'' dans le cas d'un projet ''Dynamic Web Project''). Si cette opération est effectuée alors que le projet est ouvert sous ''Eclispe'', bien penser à faire un ''Rafraîchir'' via le menu contextuel sur l'arborescence du projet. {{ide:eclipse:projet:lib0.png|Rafraichir}} Puis sélectionnez le projet, allez dans ''Project|Properties'' puis ''Java Build Path|Libraries'' et ajoutez la librairie, sans son fichier javadoc, via le bouton ''Add JARs…'' et surtout pas ''Add External JARs…''. Maintenant que la librairie a été ajoutée, il faut la développer, sélectionner la ligne ''Javadoc location: (None)'' et cliquer sur le bouton ''Edit…''. Sélectionnez ''Javadoc in archive|Workspace file|Browse'' et validez avec le fichier ''javadoc''. Il est très important de toujours mettre les archives dans le dossier ''lib'' afin d'éviter qu'un programme compile correctement mais ne soit pas exécuté avec succès. {{ide:eclipse:projet:lib1.png|Étape 1}} {{ide:eclipse:projet:lib2.png|Étape 2}} {{ide:eclipse:projet:lib3.png|Étape 3}} {{ide:eclipse:projet:lib4.png|Étape 4}} {{ide:eclipse:projet:lib5.png|Étape 5}} {{ide:eclipse:projet:lib6.png|Étape 6}} {{ide:eclipse:projet:lib7.png|Étape 7}} =====Création d'un fichier XML sur la base d'un DTD ou schéma===== ====Création du fichier==== ''File|New|Other'', ''XML File'', ''Next'', ''Create XML file from a DTD file''/''Create XML file from an XML schema file'', ''Select XML Catalog entry'' avec la clé ''-%%//Hibernate/Hibernate Configuration DTD 3.0//%%EN''/''%%http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd%%'' (par exemple), et enfin sélectionner l'élément racine. {{:ide:eclipse:projet:xml1.png|XML 1}} {{:ide:eclipse:projet:xml2.png|XML 2}} {{:ide:eclipse:projet:xml3.png|XML 3}} {{:ide:eclipse:projet:xml4.png|XML 4}} {{:ide:eclipse:projet:xml5.png|XML 5}} {{:ide:eclipse:projet:xml6.png|XML 6}} ====Insertion de schémas manquants==== Dans l'exemple, le fichier ''XSD'' se trouve dans une archive ''JAR''. On va créer le fichier ''Beans.xml'' pour ''Spring'' dans la racine du dossier ''src''. Allez dans le menu ''Window''|''Preferences'' puis dans la rubrique ''XML''|''XML Catalog''. Sélectionnez ''User Specified Entries'' et cliquez sur ''Add…''. Il faut ajouter un ''Catalog Entry'' et dans ''Location'' mettre : ''jar:file:.../eclipse-jee-neon-1a-linux-gtk-x86_64/plugins/org.springframework.aop_4.3.0.20160611-RELEASE.jar!/org/springframework/aop/factory/xml/spring-beans-4.3.xsd'' puis sélectionnez dans ''Key type'' : ''Schema location'' et enfin dans ''Key'' mettre ''http://www.springframework.org/schema/beans/spring-beans-4.3.xsd''. Recommencez pour ''Spring AOP'' : * ''jar:file:.../eclipse-jee-neon-1a-linux-gtk-x86_64/plugins/org.springframework.aop_4.3.0.20160611-RELEASE.jar!/org/springframework/aop/config/spring-aop-4.3.xsd'' * ''http://www.springframework.org/schema/aop/spring-aop-4.3.xsd''. {{:ide:eclipse:projet:addxml1.png|Ajout XML 1}} {{:ide:eclipse:projet:addxml2.png?300|Ajout XML 2}} {{:ide:eclipse:projet:addxml3.png?300|Ajout XML 3}} Et enfin, il est possible de créer le fichier ''Beans.xml'' par la méthode précédente en commençant par sélectionner le schéma ''Beans.xsd''. Choisir comme ''Root element'' ''beans''. Changer le prefix de ''beans'' de ''p'' à ''beans'' ou rien selon l'habitude. Ajoutez le ''Namespace Name'' ''http://www.w3.org/2001/XMLSchema-instance'' en cochant la case ''xsi''. Et enfin, ajoutez ''Spring AOP''. Le ''Namespace Name'' ne se complète pas automatiquement, il suffit de recopier la ligne ''Location Hint'' en enlevant le nom du fichier. {{:ide:eclipse:projet:beansxml1.png?300|Beans.xml 1}} {{:ide:eclipse:projet:beansxml2.png?300|Beans.xml 2}} {{:ide:eclipse:projet:beansxml3.png?300|Beans.xml 3}} {{:ide:eclipse:projet:beansxml4.png?300|Beans.xml 4}} {{:ide:eclipse:projet:beansxml5.png?300|Beans.xml 5}} Et pour terminer, faire un clique-droit sur le fichier, ''Spring Tools'' et sélectionnez ''Add as Bean Configuration''. {{:ide:eclipse:projet:addbeansxml.png|Ajouter Beans.xml au projet Spring}}