Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
ide:eclipse:projet [2016/12/18 09:34] – [Création d'un Projet Spring] : aspectj-autoproxy root | ide:eclipse:projet [2022/10/05 14:15] (Version actuelle) – Remove name root |
---|
Les projets dynamiques nécessitent d'avoir Tomcat installé. | 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. | 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}} | {{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}} |
{{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}} | {{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}} |
| |
| <WRAP center round important 60%> |
| 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.]] |
| </WRAP> |
| |
| 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===== | =====Création d'un Projet JPA===== |
Pour mémoire : | Pour mémoire : |
À ce stade, le fichier ''persistence.xml'' est vide et doit être rempli soit manuellement, soit via l'IHM d'Eclipse. | À ce stade, le fichier ''persistence.xml'' est vide et doit être rempli soit manuellement, soit via l'IHM d'Eclipse. |
| |
<note>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.</note> | <WRAP center round info 60%> |
| 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. |
| </WRAP> |
| |
{{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}} | {{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}} |
* - 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). | * - 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). |
| |
L'étape précédent est uniquement théorique. Si cette étape est réalisée, Eclipse répondra ''The class 'javax.persistence.Convert' is required to be in the selected libraries.''. C'est un bug dans Eclipse j'imagine. La solution de contournement est de mettre le dossier ''hibernate'' en dehors du projet (dans ''workspace/hibernate'' par exemple) et d'utiliser ''Add External JARs…''. | <WRAP center round important 60%> |
| 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.]] |
| </WRAP> |
| |
{{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}} | {{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 Spring===== | =====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 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. | 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 minumum 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]], {{ :helloworld:sql:java:jdbc:commons-logging-1.2-bin.tar.gz |Archive}} est également nécessaire. | 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 nécessaire d'avoir configurer son projet également en ''AspectJ'' et d'ajouter la libraire ''spring-aop'' si dans le ''Beans.xml'' l'option ''aspectj-autoproxy'' est activée. | 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===== | =====Installation d'une librairie===== |
| |
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''. | 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''. |
| |
<note warning>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.</note> | <WRAP center round alert 60%> |
| 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. |
| </WRAP> |
| |
{{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}} | {{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}} |
Allez dans le menu ''Window''|''Preferences'' puis dans la rubrique ''XML''|''XML Catalog''. Sélectionnez ''User Specified Entries'' et cliquez sur ''Add…''. | 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:/home/legarrec/applications/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''. | 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'' : | Recommencez pour ''Spring AOP'' : |
* ''jar:file:/home/legarrec/applications/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'' | * ''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''. | * ''http://www.springframework.org/schema/aop/spring-aop-4.3.xsd''. |
| |
Et pour terminer, faire un clique-droit sur le fichier, ''Spring Tools'' et sélectionnez ''Add as Bean Configuration''. | Et pour terminer, faire un clique-droit sur le fichier, ''Spring Tools'' et sélectionnez ''Add as Bean Configuration''. |
| |
{{:ide:eclipse:projet:addbeansxml.png?400|Ajouter Beans.xml au projet Spring}} | {{:ide:eclipse:projet:addbeansxml.png|Ajouter Beans.xml au projet Spring}} |