IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Maven Java Discussion :

Problème de dépendance maven - bean spring non trouvé.


Sujet :

Maven Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de ziad.shady
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 212
    Par défaut Problème de dépendance maven - bean spring non trouvé.
    Bonjour à tous,

    Il y a quelques jours que je bloque sur un problème de dépendance maven, et je sollicite vivement votre aide.

    Depuis le bean JSF du projet spring-jsf j'essaye d'accéder au service déclaré dans le projet spring-hibernate. Le bean JSF et le service sont déclarés via spring.
    Les deux projets sont des projets maven. spring-jsf est packagé en war et le projet spring-hibernate est packagé en jar.

    La pièce jointe PJ_1 illustre :
    1. L'arborescene des deux projets.
    2. Le backing bean de JSF (TestBean)
    3. La conf spring du projet spring-hibernate ou le bean introuvable est déclaré (testServiceProxy).
    4. La console où affichée l'exception : "No bean named 'testServiceProxy' is defined".
    Nom : PJ_1.png
Affichages : 515
Taille : 99,2 Ko
    La pièce jointe PJ_2 montre que le jar représentant le projet spring-hibernate se trouve parmi les dépendances maven du projet spring-jsf.
    Nom : PJ_2.png
Affichages : 457
Taille : 32,7 Ko
    N.B. Le jar spring-hibernate-1.0-SNAPSHOT se trouve bien dans le repository local.

    Je reste à votre disposition pour toute autre information.

    Je vous remercie par avance.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Hello,

    Comme ça, ça a l'air correct d'un point de vue Maven.
    Comment tes projets chargent-ils les fichiers de configuration Spring ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Comme te l'indique Romain, je ne crois pas que celà un quelconque rapport avec Maven et/ou M2E

    Ton contexte de test ne semble pas chargé...

    Pour des tests unitaires avec JUNit tu peux indiquer les fichiers de contexte à l'aide l'annotation
    @ContextConfiguration(locations = {"classpath:tonpath/toncontexte.xml"})

    Hors test, tu peux faire des inclusions <import resource="toncontexte.xml"/> et parametrer ton web.xml (balise <context-param> )...
    De manière générale, tu peux aussi indiquer au lancement de ton appli la localisation des fichiers à prendre en compte. Par exemple :
    ApplicationContext context =
    new ClassPathXmlApplicationContext(new String[] {"fichier.xml", "fichier2.xml","fichier3.xmll"});
    Les 3 fichiers doivent se trouver dans ton classpath

    a+
    Philippe

  4. #4
    Membre confirmé Avatar de ziad.shady
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 212
    Par défaut
    Messieurs bonjour,

    Je vous remercie de votre réponse.
    Grace à vos clarifications, je réalise qu'il s'agit plutôt d'un problème de chargement de contexte spring. Je retourne vers vous pour un plus de précision.

    Je souhaite inclure le fichier applicationContext.xml du projet spring-hibernate dans celui du projet spring-jsf.
    Pour cela, dans applicationContext.xml du projet spring-jsf j'ai rajouté la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <import resource="spring/applicationContext.xml"/>
    en espérant que cela pointe vers le fichier applicationContext.xml du projet spring-hibernate. Hélas! l'exception
    Caused by: java.io.FileNotFoundException: jndi:/localhost/spring-jsf/WEB-INF/spring/applicationContext.xml
    remonte lors du déploiement de war (spring-jsf).

    Ma question, Comment faire pour indiquer le chemin vers le fichier applicationContext.xml du projet spring-hibernate?

    Dans web.xml j'avais déjà inséré la balise :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
      </context-param>

    Merci par avance,

  5. #5
    Membre émérite

    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2005
    Messages
    588
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2005
    Messages : 588
    Par défaut
    Il faut indiquer tous tes contextes dans ton web.xml !

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <context-param>     
        <param-name>contextConfigLocation</param-name> 
        <param-value>       
             /WEB-INF/applicationContext.xml /WEB-INF/spring/applicationContext.xml 
        </param-value>
    </context-param>

    a+
    Philippe

  6. #6
    Membre confirmé Avatar de ziad.shady
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Mai 2008
    Messages : 212
    Par défaut
    Bonjour Philippe,

    Merci encore de ta réponse.

    Le /WEB-INF/spring/applicationContext.xml que tu m'as conseillé d'ajouter dans <param-value>, ne semble pas fonctionner. Je suppose c'est du fait que le répértoire spring ne se trouve pas dans WEB-INF.

    Après quelques recherches sur le net, j'ai compris que les deux context spring (celui de spring-jsf et celui de spring-hibernate) doivent être chargé par par le même ClassLoader (ou dans la même hiérarchie de ClassLoader). J'avoue que je ne sais pas où il fait le faire (que cela soit en xml ou en java).

    Dans ApplicationContext.xml du projet spring-jsf, j'ai tenté cet import :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <import resource="classpath*:spring/applicationContext.xml"/>
    L'exception
    Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
    ... 30 more
    surgit, sachant que j'ai bien la dépendance maven de spring-tx.

    Auriez-vous de nouvelles suggestions pour me remettre sur les bons rails?

    Merci,

Discussions similaires

  1. [2.x] Problème sous Wamp : fichier d'autochargement non trouvé
    Par Likan dans le forum Symfony
    Réponses: 4
    Dernier message: 16/01/2013, 11h53
  2. [Problème montage disque dur] fichier device non trouvé dans /dev/
    Par 19dev86 dans le forum Administration système
    Réponses: 3
    Dernier message: 19/08/2010, 08h39
  3. Problème de dépendance mais en fait non
    Par rodbeck dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 02/11/2009, 09h43
  4. probléme de création des bean Spring
    Par lionel84 dans le forum Spring Web
    Réponses: 1
    Dernier message: 20/08/2008, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo