2013-11-27 6 views
5

पर अपवाद प्रारंभ करने वाला एप्लिकेशन मुझे वेबस्पेयर 8.5 पर वेब एप्लिकेशन शुरू करने में यह त्रुटि मिल रही है। डीबी 2 पर MyBatis संग्रहीत प्रक्रियाओं के माध्यम से आवेदन कॉल। जर्सी ढांचे का उपयोग करके कार्यान्वित आरईएसटी डब्ल्यूएस का उपयोग कर उपयोगकर्ता ट्रिगर कॉल करता है। वसंत गोंद सब कुछ एक साथ। वही एप्लिकेशन टॉमकैट 7 पर ठीक काम करता है। क्या किसी ने यह त्रुटि देखी? किसी भी तरह की सहायता को आभार समझेंगे)। ऐसा लगता है कि यह आवेदन के लिए संदर्भ और निर्भरता इंजेक्शन कंटेनर शुरू करने में विफल रहता है।वेबस्पेर 8.5

स्टैकट्रेस: ​​

[26.11.13 10:20:36:339 MSK] 000000a3 BeansDeployer E BeansDeployer deploy 
           java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException 
       at org.apache.webbeans.portable.AnnotatedElementFactory.newAnnotatedType(AnnotatedElementFactory.java:150) 
       at org.apache.webbeans.config.BeansDeployer.deployFromClassPath(BeansDeployer.java:484) 
       at org.apache.webbeans.config.BeansDeployer.deploy(BeansDeployer.java:171) 
       at org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication(AbstractLifeCycle.java:124) 
       at org.apache.webbeans.web.lifecycle.WebContainerLifecycle.startApplication(WebContainerLifecycle.java:78) 
       at com.ibm.ws.webbeans.common.CommonLifeCycle.startApplication(CommonLifeCycle.java:106) 
       at com.ibm.ws.webbeans.services.JCDIServletContainerInitializer.onStartup(JCDIServletContainerInitializer.java:85) 
       at com.ibm.ws.webcontainer.webapp.WebAppImpl.initializeServletContainerInitializers(WebAppImpl.java:613) 
       at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:409) 
       at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88) 
       at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169) 
       at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:746) 
       at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634) 
       at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426) 
       at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718) 
       at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1175) 
       at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370) 

skip ... 

       at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
       at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
       at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
       at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1862) 
Caused by: java.lang.ArrayIndexOutOfBoundsException 
       at org.apache.webbeans.portable.AbstractAnnotatedCallable.setAnnotatedParameters(AbstractAnnotatedCallable.java:66) 
       at org.apache.webbeans.portable.AnnotatedConstructorImpl.<init>(AnnotatedConstructorImpl.java:56) 
       at org.apache.webbeans.portable.AnnotatedElementFactory.newAnnotatedType(AnnotatedElementFactory.java:117) 
       ... 108 more 
+0

स्टैकट्रैक सीडीआई से निर्णय वसंत के आपके अनुप्रयोग इंसटेड बूटस्ट्रैप में लात मार रहा है। सुनिश्चित करें कि आपके पास आपकी फ़ाइल (या संबंधित जार फ़ाइलों) में 'beans.xml' नहीं है) क्योंकि यह सीडीआई को ट्रिगर करेगा। –

+0

किसी भी मामले में, यह उत्पाद दोष की तरह दिखता है। मैं आईबीएम के साथ पीएमआर खोलने की सलाह देता हूं। –

+5

अंक हल किया गया था। समस्या यह थी कि परियोजना अमरू का उपयोग करती है, लेकिन प्रयुक्त संस्करण नवीनतम सीडीआई का समर्थन करता है। और वेबस्पेयर एपैच ओपनवेब से सीडीआई कार्यान्वयन के पुराने संस्करण का उपयोग करता है। Guava लाइब्रेरी का एक संस्करण है जो इस समस्या को संबोधित करता है। com.google.guava अमरूद 15,0 cdi1.0 user3040441

उत्तर

6

Websphere 8 पर एक ही समस्या थी इस उत्तर user3040441 की टिप्पणी पर आधारित है। इसे सुलझाने वाले अन्य लोगों के लिए अतिरिक्त शोध से बचने के लिए।

https://code.google.com/p/guava-libraries/wiki/Release15#A_note_on_JEE6_/_CDI_1.0

JEE6/CDI 1.0

का संभावित हल अमरूद 15.0 में कहा कि यह CDI 1.1 के साथ संगत (JEE7 कंटेनरों में प्रयुक्त) बनाने के लिए की वजह से CDI 1.0 के साथ अमरूद के लिए समस्याओं पर एक नोट (जेईई 6 कंटेनरों में का उपयोग किया गया)।

यदि आप सीडीआई 1.0 पर्यावरण में अमरूद का उपयोग कर रहे हैं, तो आपको सामान्य गुवा जार के बजाय guava-15.0-cdi1.0.jar का उपयोग करना चाहिए।

<dependency> 
    <groupId>com.google.guava</groupId> 
    <artifactId>guava</artifactId> 
    <version>15.0</version> 
    <classifier>cdi1.0</classifier> 
</dependency> 

https://code.google.com/p/guava-libraries/issues/detail?id=1527#c20

JSR-330 एनोटेशन अमरूद 16.0 के लिए हटा दिया गया है, इसलिए उम्मीद है साथ आगे कोई समस्या नहीं होने पर होगा: Maven में, निर्भरता के रूप में निर्दिष्ट किया जा सकता CDI। अब हमारे पास समस्याएं होंगी जब एनोटेशन का लाभ उठा रहे कोड काम करना बंद कर देंगे।

+0

इसे समझने के लिए एक घास के मैदान में पूरी सुई के बारे में बात करें। अगर मुझे पता था कि तुम कहाँ थे मैं तुम्हें एक बियर खरीदूंगा। अन्य पोम पर निर्भरता पदानुक्रम टैब देख सकते हैं जिसमें समस्या है और "अमरूद" की खोज है क्योंकि यह एक अलग निर्भरता पर एक छिपी निर्भरता हो सकती है जिसमें आप शामिल हैं। फिर आप अमरूद निर्भरता पर राइट क्लिक कर सकते हैं और अक्षम, सहेज सकते हैं, पर जा सकते हैं।एक्सएमएल देखें और सत्यापित करें कि अब अमरूद के लिए बहिष्कार है। फिर ऊपर दिए गए निर्भरता स्टीफन को आयात करके मैन्युअल रूप से इसे प्रतिस्थापित करें। मैं दिनों के लिए इस पर सर्कल में चारों ओर चला गया। धन्यवाद! – Russ

संबंधित मुद्दे