2012-11-28 15 views
6

मैं java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver में चल रहा हूँClassNotFoundexception: net.sourceforge.jtds.jdbc.Driver

मैं त्रुटि के आसपास CATALINA_HOME/lib निर्देशिका में jtds.jar फ़ाइल डाल कर प्राप्त कर सकते हैं, लेकिन यह के रूप में एक आदर्श समाधान नहीं है आवेदन किसी भी सर्वर पर तैनाती के लिए पर्याप्त मॉड्यूलर होना चाहिए।

मेरे पास jtds.jar फ़ाइल [tomcat_dir]/webapps/myapp/WEB-INF/lib है जहां मैं इसे से प्राप्त करना चाहता हूं।

मुझे पता है कि समान प्रश्नों के टन हैं इसलिए मैं क्षमा चाहता हूं कि यह एक डुप्लिकेट है लेकिन मुझे अभी तक एक पोस्ट खोजने में सक्षम होना है जो मदद करता है।

मेरे ऐप को सही पैकेज jtds.jar फ़ाइल क्यों नहीं मिल सकती है जिसे मैंने ऐप पैकेज में शामिल किया है? ऐप को जार फ़ाइल को पहचानने के लिए मुझे क्या करने की ज़रूरत है?

+1

आपके पास अन्य निर्भरताओं से जार का डुप्लिकेट सही नहीं है? उसने गधे में कई बार मुझे काट दिया है। – thatidiotguy

+0

मैं @thatidiotguy से सहमत हूं। मुझे दृढ़ता से संदेह है कि आपके टोमकैट में क्लासपाथ में कहीं भी जार है। – kosa

उत्तर

7

बिलाव 6 और उच्च कि JDBC ड्राइवर जार सर्वर/lib में दिखाई देते हैं, खासकर यदि आप JNDI डेटा स्रोत हो मांग करती है।

यह आदर्श नहीं हो सकता है, लेकिन आपको इसे प्राप्त करना होगा। आप कितनी बार ऐप सर्वर बदल रहे होंगे?

+0

मैं टॉमकैट 6 चला रहा हूं। क्या आपको पता चलेगा कि टोमकैट वी 6 में समान आवश्यकताएं हैं या नहीं? मैं ऐप सर्वर को अक्सर नहीं बदलता हूं। अगर मैं – nmc

+0

कर सकता हूं तो मुझे जार फ़ाइल को टॉमकैट lib निर्देशिका में डालने से बचने के लिए एक बेहतर विचार की तरह लग रहा था, मुझे नहीं लगता कि आप सर्वर/lib में एक JAR डालने के लिए इतने प्रतिकूल क्यों हैं, खासकर जब से इसे साझा करने की संभावना है संसाधन। यदि टॉमकैट इंस्टेंस पर प्रत्येक ऐप MySQL से संबंधित है, तो यह सुनिश्चित करना एक अच्छा विचार नहीं है कि ऐप सर्वर के पास सभी ऐप्स के लिए एक ही जेडीबीसी ड्राइवर है? – duffymo

+1

टॉमकैट 6 को इसके लिए भी आवश्यकता होती है: स्पष्टीकरण के लिए सेवा प्रदाता तंत्र देखें। http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html – duffymo

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