2012-06-08 11 views
6

मुझे एक अजीब समस्या है।java.lang.ClassNotFoundException: org.jboss.logging.Logger

मेरे पास जेएसएसएस क्लाइंट एप्लिकेशन & जेबीओएस jboss-5.1.0.GA में कॉन्फ़िगर किया गया एक एमडीबी है। इससे पहले मैंने "बिल्ड पथ कॉन्फ़िगर करें" द्वारा जार जोड़ा -> "बाहरी जार जोड़ें" और सब कुछ ठीक काम कर रहा था।

अब, मैंने अपने जार को मेरे प्रोजेक्ट के तहत एक lib फ़ोल्डर में ले जाया और "बिल्ड पथ कॉन्फ़िगर करें" -> "जार जोड़ें" का उपयोग किया।

अब क्लाइंट प्रोग्राम निष्पादित करते समय मुझे निम्न अपवाद मिलता है। :(

`Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/logging/Logger 
at org.jnp.interfaces.NamingContext.<clinit>(NamingContext.java:160) 
at org.jnp.interfaces.NamingContextFactory.getInitialContext(NamingContextFactory.java:56) 
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) 
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) 
at javax.naming.InitialContext.init(Unknown Source) 
at javax.naming.InitialContext.<init>(Unknown Source) 
at com.dcat2.messaging.sendreceive.MessageReceiver_test.sendMessage(MessageReceiver_test.java:68) 
at com.dcat2.messaging.sendreceive.MessageReceiver_test.main(MessageReceiver_test.java:57) 
`Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger 
at java.net.URLClassLoader$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
at java.lang.ClassLoader.loadClass(Unknown Source) 
... 8 more` 

मैं classpath में jndi.properties और निम्नलिखित जार की है।

jbossall-client.jar 
commons-logging.jar 
concurrent.jar 
javax.ejb.jar 
jms.jar 
jnp-client-4.2.2.GA.jar 
log4j-1.2.16.jar 
sqljdbc4.jar 

कर सकते हैं किसी को भी मदद कृपया ....?

+0

आप क्लाइंट प्रोग्राम को कैसे निष्पादित कर रहे हैं? –

+0

क्या आप आयात दिखा सकते हैं? ऐसा लगता है कि आप jboss लॉगर का उपयोग करने की कोशिश कर रहे हैं लेकिन आपके पास क्लास पथ पर log4j है। हो सकता है कि आपको org.apache.log4j – peshkira

+0

@peshkira आयात करना चाहिए .... मैंने आयात org.apache.log4j – user1407668

उत्तर

0

ऐसा लगता है कि हो सकता है वे लापता खाया libpath में lib/folder। क्या आपने lib फ़ोल्डर को इंगित करने के लिए क्लासपाथ को अद्यतन किया था? यदि आपके पास एक मेनिफेस्ट फ़ाइल है, तो सुनिश्चित करें कि यह जार के लिए lib फ़ोल्डर का संदर्भ देता है। जब आपका प्रोग्राम चलता है तो अपने क्लासपाथ को प्रिंट करें, तो आप देख सकते हैं कि क्या यह उन जारों को इंगित करता है। ग्रहण सेटिंग केवल ग्रहण में अच्छी है, इसलिए यदि आप इसके बाहर जाते हैं आपको क्लासपाथ देखना होगा।

+0

हाय सब, मैंने tje jboss installtion path (../ jboss-5.1.0.GA \ क्लाइंट) से jbossall-client.jar जोड़ा और lib फ़ोल्डर से नहीं, यह काम किया। इसलिए, क्या मैं यह जार lib फ़ोल्डर में नहीं जोड़ सकता & मेरे buildpath में शामिल हैं? कोई उपाय? – user1407668

+0

इसके अलावा, मैंने मैनिफेस्ट फ़ाइल में निम्नलिखित जोड़ने का प्रयास किया और कोशिश की। लेकिन एक ही समस्या क्लास-पथ प्राप्त हुई: ../lib/jbossall-client.jar – user1407668

+0

यह केवल तभी काम करता है जब jbossall-client.jar फ़ाइल आपके जार में है। क्या आपके जार में एक lib फ़ोल्डर है? – Logan

0

वास्तविक समस्या jbossall-client.jar में अन्य जारों के संदर्भ शामिल थे। इसलिए हमें इसे JBOSS_HOME से जोड़ना होगा। Thats यही कारण है कि जब मैंने अपनी lib निर्देशिका में कॉपी किया तो यह काम नहीं किया।

धन्यवाद

2

आप jboss-logging-3.1.0.GA जो हाइबरनेट वितरण के साथ आता है की जरूरत है या यह अलग से डाउनलोड किया जा सकता है।

0

1.7 JDK उन्नयन के साथ JBoss लकड़हारा संगतता के साथ अपने मुद्दे पर-वार्ड JDK1.7 कस्टम स्तर कृपया का उपयोग jdk1.7 (मारो और प्रयास करें) हो सकता है lib दस्तावेज़ उस में मदद कर सकते हैं के साथ पुस्तकालय संगत अनुमति नहीं है।

अन्यथा समस्या अपने आप को जार बदलें (अनुशंसित नहीं)

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