2009-02-13 7 views
1

avoir une situation étrange. J'utilise le serveur Glassfish pour mon application Enterprise. Dans cette application, j'utilise JSF, Richfaces, Quartz, Jasper Reports et Commons Commons. Quand je construis et déploie l'application à mon dev. ordinateur, dev et serveurs de test, tout fonctionne bien. Mais quand je déploie l'application au serveur de production avec le même glassfish je ne peux pas courir le planificateur de quartz. Cela me donne à penser qu'il y a un problème avec les collections-communes. Je sais qu'il y a un conflit quelque part mais je ne peux pas trouver où. Peux-tu me donner des indications sur le sujet? En passant, j'utilise NetBeans 6.5.Conflits de bibliothèques pour le quartz

Voici le journal:

[#|2009-02-13T02:00:03.055+0000|WARNING|sun-appserver9.1|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=22;_ThreadName=httpSSLWorkerThread-80-4;_RequestID=97d21f45-2489-486c-b8d9-68625776c546;|#{SchedulerController.play}: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
javax.faces.FacesException: #{SchedulerController.play}: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:383) 
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) 
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) 
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) 
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97) 
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) 
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) 
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) 
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) 
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) 
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) 
    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) 
Caused by: javax.faces.el.EvaluationException: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91) 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91) 
    ... 43 more 
Caused by: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
    at org.quartz.JobDetail.<init>(JobDetail.java:85) 
    at englearn.elc.controller.SchedulerController.play(SchedulerController.java:43) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.sun.el.parser.AstValue.invoke(AstValue.java:187) 
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77) 
    ... 44 more 
|#] 

[#|2009-02-13T02:00:03.055+0000|WARNING|sun-appserver9.1|javax.enterprise.resource.webcontainer.jsf.lifecycle|_ThreadID=22;_ThreadName=httpSSLWorkerThread-80-4;_RequestID=97d21f45-2489-486c-b8d9-68625776c546;|executePhase(INVOKE_APPLICATION 5,[email protected]) threw exception 
javax.faces.FacesException: #{SchedulerController.play}: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:105) 
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) 
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) 
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) 
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) 
    at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) 
    at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) 
    at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390) 
    at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288) 
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) 
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) 
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) 
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) 
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) 
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) 
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) 
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) 
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) 
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) 
    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106) 
Caused by: javax.faces.FacesException: #{SchedulerController.play}: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107) 
    at javax.faces.component.UICommand.broadcast(UICommand.java:383) 
    at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:321) 
    at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:296) 
    at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:253) 
    at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:466) 
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97) 
    ... 37 more 
Caused by: javax.faces.el.EvaluationException: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91) 
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91) 
    ... 43 more 
Caused by: java.lang.NoSuchMethodError: org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set; 
    at org.quartz.JobDetail.<init>(JobDetail.java:85) 
    at englearn.elc.controller.SchedulerController.play(SchedulerController.java:43) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at com.sun.el.parser.AstValue.invoke(AstValue.java:187) 
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77) 
    ... 44 more 
|#] 

Répondre

5

A java.lang.NoSuchMethodException indique toujours que le fichier de classe sur l'exécution classpath n'est pas la même version que le fichier de classe qui était sur le chemin de classe de compilation (si la méthode avait été manquante lors de la compilation, la compilation aurait échoué)

Plus précisément, la méthode incriminée dans ce cas est:. java.util.Set org.apache.commons.collections.SetUtils.orderedSet(java.util.Set)

Vous avez une autre version des communes-collections dans votre produ ction que vous ne le faites dans votre environnement de développement.

2

Ceci est peut-être dû au fait que vous utilisez une version de commons-collections.jar qui n'a pas cette méthode. Pour résoudre ce problème, vous devez télécharger cette bibliothèque (la version 3.2.1 est la dernière version disponible) et substituer tous les anciens communs-collections.jar que vous avez dans votre projet pour le nouveau (je recommande de faire une recherche dans votre Dossier de projet pour connaître tous les endroits où cette bibliothèque est, parce que c'est étonnamment dans beaucoup d'endroits, au moins dans mon cas ...)

Espérons que ceci aide toutes les personnes avec cet horrible problème! Il m'a fallu une journée entière pour le réparer! Bonne chance buddies :)

2

Les dernières versions de quartz ne dépendent pas de la bibliothèque de collections de communs, essayez donc d'utiliser une version plus récente. Dans mon cas, le passage du quartz 1.6.0 à 1.6.6 a résolu le problème.