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

JSF Java Discussion :

[RichFaces] Problème java.lang.ClassNotFoundException


Sujet :

JSF Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut [RichFaces] Problème java.lang.ClassNotFoundException
    Salut,

    Je viens de reprendre un projet en cours sur RichFace, et j'obtiens cette erreur lors de l'execution d'une de mes page :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    GRAVE: Error Rendering View[/stock/listProduit.xhtml]
    javax.faces.FacesException: java.lang.ClassNotFoundException: lims.controller.ControllerProduit
    	at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:148)
    	at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.createManagedBean(ManagedBeanResolver.java:196)
    	at org.apache.myfaces.el.unified.resolver.ManagedBeanResolver.getValue(ManagedBeanResolver.java:162)
    	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
    	at org.apache.myfaces.el.VariableResolverImpl.resolveVariable(VariableResolverImpl.java:61)
    	at org.apache.myfaces.el.convert.VariableResolverToELResolver.getValue(VariableResolverToELResolver.java:93)
    	at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
    	at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
    	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
    	at org.apache.el.parser.AstValue.getValue(AstValue.java:107)
    	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
    	at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
    	at org.apache.myfaces.application.ApplicationImpl.createComponent(ApplicationImpl.java:286)
    	at com.sun.facelets.tag.jsf.ComponentHandler.createComponent(ComponentHandler.java:224)
    	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:139)
    	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:314)
    	at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:169)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:119)
    	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
    	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
    	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
    	at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
    	at com.sun.facelets.tag.ui.IncludeHandler.apply(IncludeHandler.java:60)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.tag.ui.DefineHandler.apply(DefineHandler.java:58)
    	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:128)
    	at com.sun.facelets.impl.DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:306)
    	at com.sun.facelets.impl.DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:279)
    	at com.sun.facelets.tag.ui.InsertHandler.apply(InsertHandler.java:68)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    	at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
    	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:248)
    	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:294)
    	at com.sun.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:273)
    	at com.sun.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:143)
    	at com.sun.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:113)
    	at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
    	at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
    	at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
    	at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:503)
    	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:546)
    	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
    	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:189)
    	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147)
    	at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256)
    	at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362)
    	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.ClassNotFoundException: lims.controller.ControllerProduit
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:247)
    	at org.apache.myfaces.shared_impl.util.ClassUtils.classForName(ClassUtils.java:139)
    	at org.apache.myfaces.config.annotation.TomcatAnnotationLifecycleProvider.newInstance(TomcatAnnotationLifecycleProvider.java:43)
    	at org.apache.myfaces.config.ManagedBeanBuilder.buildManagedBean(ManagedBeanBuilder.java:81)
    	... 89 more
    La configuration est normalement bonne dans le faces-config.xml et pointe le bon package.

    Après des diverses recherches, j'ai également appliqué ce "fix" sur la config du jdk :
    http://dev.bostone.us/2009/02/23/jav...javalangstring

    Mais rien n'y fait, toujours cette maudite erreur, si quelqu'un avait une petite idée pour me tirer du pétrin...

    Par avance merci !

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    la classe lims.controller.ControllerProduit n'existe pas.vérifie bien le chemin et recompile ton projet .

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Merci de ta réponse, voila la config pour cette classe mon faces.config :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
      <managed-bean-name>controllerProduit</managed-bean-name>
      <managed-bean-class>lims.controller.ControllerProduit</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
     </managed-bean>

    Au niveau de la structure de mon projet :

    XXXX/src/lims/jsf/controller/ControllerProduit.java

    il y a bien le /jsf/ qui est en plus par rapport à la config, mais si je l'enlève du faces.config, la page qui appel le classe controllerProduit passe carrement en erreur 404 et aucune erreur dans la console eclipse.

    Je pense qu'il y a un filtre sur le /jsf/ quelque part.

    T'aurais une piste ?

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    regarde le package déclaré dans la classe ControllerProduit
    si c'est le même que dans le faces-config, fait un Clean de tous le projet.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    c'est le package : package lims.jsf.controller;

    Je viens de faire un clean sur le projet et sur tomcat, restart mais toujours la même erreur :/

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu dois définir alors le bon package dans le faces-config..

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Disons que le projet avait cette config, et qu'en modifiant le faces.config avec ce qui semble le plus "logique", la page que j'appel m'affiche une erreur 404 directement :/

  8. #8
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Points : 149
    Points
    149
    Par défaut
    Typiquement, j'ai cette erreur lorsque mon server ne trouve pas la librairie...

  9. #9
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    quelle page qui ne s'affiche pas? la page d'accueil?

    essaye d'accéder directement à la page : /context/page.jsf

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Fafhrd -> pourtant j'ai aucune erreur dans la console qui laisse sous entendre ce style de problème, y'aurait un autre moyen de s'assurer que ce n'est pas une librairie manquante ?

    Sniper37 -> J'ai pas de page /context/page.jsf dans mon projet :/ Inquiétant ou non ?
    En faite l'accueil s'affiche (y'a juste des liens) et ensuite l'appel aux pages qui utilisent des classes ou des source de données, passent soit en 404 sois en ClassNotFound en fonction de ce que j'ai configuré plus haut dans le faces.config.

  11. #11
    Membre habitué
    Inscrit en
    Mars 2009
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 154
    Points : 149
    Points
    149
    Par défaut
    En fait, toutes les erreurs ne sont pas forcement décelées à la compilation car seuls les librairies utilisées dans le code sont à ce moment là vérifiées.
    Des librairies peuvent être utilisées dans le web.xml ou certains autres fichiers de configuration et n'être alors mis en oeuvre qu'à l'éxécution.

    Enfin je ne pense pas que ce soit le cas ici vu que tu as développé toi même ta classe. Pour moi, tu as un problème de compilation. Clean ton projet, vérifie manuellement que tous le contenu compilé a bien été supprimé (genre build, gfdeploy, etc.). Vérifie que ton serveur d'appli a bien supprimé toute trace de ton application.
    Si tu utilises des dépendances, vérifie qu'elles sont bien toutes présentes.
    Éteint ton server et redémarre le... puis relance un déploiement.

    J'espère que ça marchera :p.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Problème résolu, finalement c'était une erreur de librairies dans tomcat.

  13. #13
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    N'oublie pas la prochaine fois.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/01/2013, 08h12
  2. Réponses: 6
    Dernier message: 17/10/2011, 17h22
  3. Réponses: 0
    Dernier message: 18/03/2010, 22h01
  4. java.lang.ClassNotFoundException Sitemesh problème
    Par reneguenon dans le forum Struts 1
    Réponses: 6
    Dernier message: 13/10/2008, 13h21

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