J'ai créé une réponse dans une discussion mais je pense que disposer de son propre sujet serait plus profitable à ma question.
Mon appli web (projet maven utilsant le conteneur Spring dans ses couches basses avec un mapping hibernate et une persistance JPA).
J'accède à Spring depuis une application web générique: JSP+Servlets.
Je charge le contexte d'application de Spring au chargement du contexte de Servlet (avec l'écouteur de servlet fourni par Spring: ContextLoaderListener).
Structure de mon projet:
projet parent:
rien dedans excepté la version du projet et les dependency
projet core:
src/main/java
- Beans
- Daos
- Managers
src/main/ressources (tous était contenus dans le sous répertoire META INF autrefois, mais cela générait trop de DuplicateMappingException, un problème qui s'est réglé, je ne sais comment, lorsque le les ai sortis du META INF).
- les fichiers de mapping: .hbm.xml
- l'application-context-core
- le persistence.xml
src/test/java
- mes classes de test
src/test/ressources
- le databaseConnexion.properties (avec données de la bdd)
- le log4j pour les logger
Le projet core compile parfaitement, le jar est créé, les classes de test marchent bien.
projet web
src/main/java
rien pour le moment
src/main/ressources
mon databaseConnexion.properties que j'aurais voulu mettre dans src/test/ressources mais qui devient, je ne sais pour quelles raisons, inaccessible lorsqu'il s'y trouve.
src/test/java
src/test/ressource
vides
src/main/webapp
/WEB-INF
/jsp
-2jsp
applicationContext-web.xml (qui ne fait qu'importer l'application-context-core)
web.xml qui contient le contextLoaderListener.
Comme je le disais la compilation du core se passe très bien mais lors de la compilation du web (+tentative de déploiement avec jetty) j'ai à tous les coup des DuplicateMappingException des objets du core. Un peu comme si le mapping se chargeait deux fois... je me suis demandée si c'était par hasard le context spring qui était chargé une fois, puis chargé à nouveau lors du chargement du context de servlet... bref c'est une erreur que je ne m'explique pas.
Donc voila si cette erreur parle à quelqu'un je serais très heureuse de pouvoir bénéficier de son avis! Merci
Partager