पर नहीं डाला जा सकता है मुझे javax.mail.Session ऑब्जेक्ट को टॉमकैट संदर्भ फ़ाइल का उपयोग करने के लिए निम्न कोड चलाने का प्रयास करते समय यह त्रुटि प्राप्त हो रही है। ।java.lang.ClassCastException: javax.mail.Session को javax.mail.Session
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
Session session = (javax.mail.Session) envCtx.lookup("mail/session");
यह context.xml में संसाधन घोषणा है।
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="host"
mail.smtp.user="user"
mail.smtp.password="password"
mail.smtp.auth="false"/>
मैं समझता हूँ कि इस वजह से मुझे अपने आवेदन सर्वर पुस्तकालय (बिल्ला) फ़ोल्डर में और मेरे अनुप्रयोगों पुस्तकालय फ़ोल्डर में javax.mail.Session के लिए एक ही पुस्तकालय होने के लिए हो सकता है, मैं के रूप में कई डुप्लिकेट पुस्तकालय फ़ाइलों का सफाया कर दिया है मेरे एप्लिकेशन लाइब्रेरी फ़ोल्डर (जैसे mail.jar) से मैं देख सकता हूं कि लाइब्रेरी के हिस्से के रूप में javax.mail.Session है, अब मैं एक बिंदु पर हूं जहां मुझे अभी भी यह त्रुटि मिल रही है और यह सुनिश्चित नहीं है कि अन्य पुस्तकालय क्या हो सकते हैं इस समस्या का स्रोत, या यह कोई अन्य मुद्दा है जिसे मुझे पता नहीं है?
लोग इस समस्या का स्रोत खोजने के लिए क्या करेंगे सुझाव देंगे?
धन्यवाद।
सुनिश्चित करें कि आप टोमकैट को पुनरारंभ करें। अगर अपवाद अभी भी फेंक दिया गया है, तो आपने एक जगह मिस कर दी है जहां javax.mail.Session अभी भी है। – Henry
मुझे आपकी समस्या के लिए सही समाधान नहीं पता है, लेकिन एक और कारण यह हो सकता है (आपके लिए खोदने के लिए) - javax.mail.Session 2 अलग-अलग क्लासलोडर्स द्वारा लोड किया गया है – serejja
क्या आप मेवेन का उपयोग कर रहे हैं? –