JBoss 7.1, OmniFaces 1.6, ग्रहण केपलर, CDI 1.0एक ईएआर में दो WARs में OmniFaces 1.6 का उपयोग कैसे करें?
मैं नए Omnifaces 1.6, जब मैं OmniFaces 1.5 से OmniFaces 1.6 के लिए अद्यतन के साथ निम्न स्थिति मिल गया है। मुझे लगता है कि ओमनीफेस 1.6 की नई रोचक सीडीआई सुविधाओं के साथ इसका कुछ संबंध है।
मेरे पास एक ईएआर संग्रह में दो जेएसएफ आधारित युद्ध परियोजनाएं हैं, दोनों परियोजनाओं में ओमनीफेस निर्भरता के रूप में हैं और वे दोनों तैनात किए जाएंगे। तैनाती में, ओमनीफेस 1.6 दोनों WAR परियोजनाओं के /WEB-INF/lib
में समाप्त होता है। जेबॉस की शुरुआत में IllegalArgumentException
फेंक दिया गया था।
java.lang.IllegalArgumentException: Registering converter 'class org.omnifaces.converter.ListConverter' failed, duplicates converter ID 'omnifaces.ListConverter' of other converter 'class org.omnifaces.converter.ListConverter'.
at org.omnifaces.cdi.converter.ConverterExtension.processConverters(ConverterExtension.java:78)
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 org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)
at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:241)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:229)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:207)
at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:569)
at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:559)
at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:60)
at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:38)
at org.jboss.weld.bootstrap.events.ProcessManagedBeanImpl.fire(ProcessManagedBeanImpl.java:30)
at org.jboss.weld.bootstrap.AbstractBeanDeployer.deploy(AbstractBeanDeployer.java:123)
at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:204)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:344)
at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:82)
at org.jboss.as.weld.services.WeldService.start(WeldService.java:76)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
अगर मैं एक युद्ध परियोजना, तो अपवाद गायब हो जाता है को हटाने और मैं EAR में अन्य युद्ध परियोजना का उपयोग कर सकते हैं।
क्या एक परियोजना के रूप में ओमनीफेस 1.6 का उपयोग करना संभव है, और एक ईएआर में जेबॉस 7.1.1 पर तैनात करना संभव है?
यह समस्या पहले से ही पहचानी जा चुकी है और हम वर्तमान में इस पर काम कर रहे हैं: https://code.google.com/p/omnifaces/issues/detail?id=251 आज या कल 1.6.1 होगा अनिवार्य फिक्स – BalusC
धन्यवाद, मैं एक फिक्स के लिए इंतजार कर रहा हूँ! – Tony
मैंने इसे ठीक किया। कृपया 1.6.1 स्नैपशॉट आज़माएं: https://oss.sonatype.org/content/repositories/snapshots/org/omnifaces/omnifaces/1.6.1-SNAPSHOT/ यदि यह आपके लिए काम करता है तो मैं स्पष्टीकरण के साथ एक उत्तर पोस्ट करूंगा। – BalusC