2012-07-31 20 views
6

मेरे पास एक स्टैंडअलोन बैच प्रोग्राम है जो jdk1.6.0_31 पर चलता है। इस स्टैंडअलोन प्रोग्राम में जेएक्स-डब्ल्यूएस क्लाइंट और ईजेबी क्लाइंट है। जेएक्स-डब्ल्यूएस क्लाइंट किसी भी जार को जोड़ने के बिना ठीक काम कर रहा था जब तक कि मैंने ईजेबी क्लाइंट के लिए wlfullclient.jar जोड़ा। अब क्लासपाथ में wlfullclient.jar के साथ मुझे नीचे अपवाद मिल रहा है। कृपया मुझे बताएं कि इसे कैसे हल करें। आपकी सहायता की सराहना।जेएक्स-डब्ल्यूएस डिस्पैच क्लाइंट ठीक काम कर रहा था जब तक wlfullclient.jar जोड़ा गया

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/xml/ws /spi/ProviderImpl 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:615) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:58) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:197) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
at javax.xml.ws.spi.FactoryFinder.safeLoadClass(FactoryFinder.java:150) 
at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:30) 
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:90) 
at javax.xml.ws.spi.Provider.provider(Provider.java:83) 
at javax.xml.ws.Service.<init>(Service.java:56) 
at javax.xml.ws.Service.create(Service.java:691) 

उत्तर

1

क्या आपके पास इसके साथ कोई भाग्य है? मैं जेटस्पीड 2.2.2 (पोर्टल सर्वर पर टॉमकैट पर आधारित) पर चल रहे एक ही मुद्दे पर चल रहा हूं। इससे पहले कि मैं सर्वर के lib फ़ोल्डर में wlfullclient.jar शामिल करता हूं, मेरी वेब सेवा ठीक काम करती है। समावेशन के बाद यह उपरोक्त शामिल स्टैक ट्रेस के साथ तत्कालता पर उड़ाता है।

मेरे सोच (इस स्तर पर सैद्धांतिक) इस प्रकार है:

wlfullclient.jar एक वर्ग मेट्रो वेब सेवाओं ढेर में एक वर्ग पहले से ही के रूप में एक ही नाम और पैकेज गई है। यह कक्षा मेट्रो कक्षा से पहले लोड हो रही है और फिर मेट्रो कार्यान्वयन के बजाय वेब तर्क कार्यान्वयन को लोड करने के मार्ग को वर्गीकृत करने का निर्देश दे रही है। वेब तर्क कार्यान्वयन मौजूद नहीं है (ऐसा नहीं है कि हम उन्हें शामिल करने के प्रयास में गए हैं क्योंकि हम मानक जावा का उपयोग करना चाहते हैं) और यह NoClassDefFound बताता है।

यह ध्यान देने योग्य है कि मुझे मेट्रो और wlfullclient.jar दोनों में समान नाम और पैकेज के साथ यह माना गया वर्ग नहीं मिला है। इस अर्थ में कक्षा इस समय हिग्स बोसन के समान है। फिर यह मानना ​​मौजूद है, इसके बारे में क्या करना है?

मैं जानना चाहता हूं कि आपको कोई समाधान मिला है या नहीं।

इसके अलावा, मैं जोड़ने चाहिए:

मैं के रूप में यह एक ही सर्वर पर चल रहे अन्य portlets द्वारा किया जाता है wlfullclient.jar शामिल करने के लिए की जरूरत है। मैं इसे हटा नहीं सकता लेकिन मैं इसे स्वयं नहीं उपयोग कर रहा हूं।

+0

यदि आपको कोई मिलता है तो कृपया एक उत्तर दें। धन्यवाद। – MeIr

+0

इसी प्रकार आपके लिए :) अभी तक कोई समाधान नहीं है। मैं अन्य परियोजनाओं पर काम कर रहा हूं लेकिन जब मैं उस जगह पर वापस आऊंगा तो इस मुद्दे को हल करने की कोशिश कर रहा हूं। –

2

हमें इस समस्या का शोध करने और ढूंढने के बाद भी यही समस्या थी, मैंने एक झुकाव का पालन किया और वेबलॉगिक सर्वर के लिए प्रलेखन में देखा।

मैं वैकल्पिक ग्राहकों की तलाश में था।

मूल रूप से तीन ग्राहक जार के होते हैं: - IIOP ग्राहकों

  • wlfullclient.jar के लिए -

    • wlclient.jar सब कुछ के लिए एक जार में (बड़े पैमाने पर आकार ~ 50MB)
    • wlthint3client.jar - के लिए एक बहुत पतला टी 3 क्लाइंट

    अंतिम विकल्प क्लाइंट का एक पतला संस्करण है जिसका वेबलॉगिक्स मालिकाना टी 3 प्रोटोकॉल का समर्थन है। कार्यक्षमता के मामले में इसमें कुछ कमी है, लेकिन अगर आपको बस इतना करना है कि सर्वर पर एक ईजेबी से बात करें: यह सब वहाँ है।

    फॉर्म wlfullclient.jar को wlthint3client.jar पर स्विच करने के बाद, सभी NoClassDefFoundError चले गए थे।

    यहां Weblogic Documentation का एक लिंक है।

  • +0

    हां, wlfulintclient को wlthint3client.jar के साथ बदलना इस समस्या को ठीक करेगा – Doss