दिलचस्प पोस्ट
HTTPWebrquest (मल्टीपार्ट / फॉर्म-डेटा) के साथ फाइल अपलोड करें ईवेंट हैंडलिंग के लिए अनाम प्रतिनिधियों का उपयोग करते समय कूड़ा संग्रह डेटाफ्रेम की सूची को अनलिंक करें निर्दिष्ट DSN में ड्राइवर और अनुप्रयोग के बीच एक वास्तुकला बेमेल शामिल है। जावा समूह के आधार पर आर में डेटा फ्रेम में पंक्तियों की संख्या की गणना एंड्रॉइड स्टूडियो getSlotFromBufferLocked: अज्ञात बफर त्रुटि सबप्रोसीस। पोपेन: टर्मिनल और वेरिएबल्स दोनों में स्टडआउट और स्टेडरर क्लोन करना आईओएस 8 का प्रयोग करते हुए एक यूआईएलएरट्रंट्रोलर को ठीक से पेश करते हुए गतिविधि में वापस बटन को कैसे नियंत्रित करें कक्षा में वैश्विक चर का उपयोग करें एकाधिक कैप्चर-समूहों के साथ आरगेक्स समूह आर आर क्या प्रत्येक तालिका में प्राथमिक कुंजी होनी चाहिए? जावास्क्रिप्ट वस्तु विशेषताओं का डिफ़ॉल्ट मान सेट करें जीएल पुस्तकालय / हेडर कैसे प्राप्त करें? विशेष वर्णों की खोज करने के लिए मैं एक खोज इंजन का उपयोग कैसे कर सकता हूं?

Jla.lang.ClassNotFoundexception का सामना किए बिना Eclipse वेब प्रोजेक्ट में JDBC ड्रायवर को कैसे स्थापित करें

मेरे लिए एक बहुत ही समान सवाल है लेकिन मेरे मामले में मेरे पास मेरे रास्ते में कोई डुप्लिकेट जार नहीं है, इसलिए समाधान मेरे लिए काम नहीं करता है। मैंने हाल ही में कुछ घंटों के लिए Google की खोज की है, लेकिन मुझे जो समाधान मिल चुके हैं उनमें से कोई भी वास्तव में मेरी समस्या को हल नहीं करता है मैं होमवर्क के लिए कुछ डेटाबेस कनेक्टिविटी के साथ एक वेब साइट बना रहा हूँ मैं एक MySQL डाटाबेस का उपयोग कर रहा हूँ, एक्लिप्स में विकासशील और विंडोज पर चल रहा हूं।

मैं java.lang.ClassNotFoundException: com.mysql.jdbc.Driver निम्न कोड के साथ प्राप्त कर रहा हूं:

 import java.sql.*; //... public void someMethodInMyServlet(PrintWriter out) { Connection connection = null; PreparedStatement query = null; try { out.println("Create the driver instance.<br>"); Class.forName("com.mysql.jdbc.Driver").newInstance(); out.println("Get the connection.<br>"); connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "secret"); query = connection.prepareStatement( "SELECT * FROM customers"); //... } catch (Exception e) { out.println(e.toString()+"<br>"); } } //... 

जब मैं उपरोक्त कोड को चलाता हूं, तो मुझे निम्न आउटपुट मिलता है:

 Create the driver instance. java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

यह Class.forName... लिए नहीं मिलता है। Class.forName... लाइन और मुझे पता नहीं क्यों कर सकते हैं! मैंने जो किया था यह रहा:

  1. डाउनलोड mysql-connector
  2. इसे अपने MySQL फ़ोल्डर में रखें C:\Program Files\MySQL\mysql-connector-java-5.1.12\mysql-connector-java-5.1.12-bin.jar
  3. एक्लिप्स में प्रोजेक्ट प्रॉपर्टी खोला गया
  4. मेरे निर्माता पथ में बाहरी जार जोड़ें और मैंने mysql-connector-java-5.1.12-bin.jar

हर बार जब मैं सर्वलेट का उपयोग करने का प्रयास करता हूं तो मुझे वही त्रुटि मिलती है चाहे मेरे पास जार होता हो या अगर नहीं। क्या आप मेरी मदद कर सकते हैं?

वेब के समाधान से एकत्रित समाधान "Jla.lang.ClassNotFoundexception का सामना किए बिना Eclipse वेब प्रोजेक्ट में JDBC ड्रायवर को कैसे स्थापित करें"

प्रत्येक "तृतीय-पक्ष" लाइब्रेरी में जेआर फ़ाइल का स्वाद जो वेबएप द्वारा उपयोग किया जाता है, बस webapp /WEB-INF/lib में भौतिक JAR फ़ाइल को कॉपी / छोड़ें। यह तब webapp की डिफ़ॉल्ट कक्षापथ में उपलब्ध होगा इसके अलावा, ग्रहण करने योग्य है कि यह ध्यान देने योग्य है बिल्डपाथ के साथ परेशान करने की कोई ज़रूरत नहीं है हालांकि, पहले से जोड़े गए सभी अनावश्यक संदर्भों को हटाने के लिए सुनिश्चित करें, अन्यथा यह टकरा सकता है।

वैकल्पिक रूप से इसे सर्वर में खुद ही /lib फ़ोल्डर में भौतिक JAR फ़ाइल को छोड़कर स्वयं में स्थापित करना है। यह तब आवश्यक है जब आप सर्वर द्वारा प्रदत्त जेडीबीसी कनेक्शन पूल डेटा स्रोत का उपयोग कर रहे हैं, जो बदले में MySQL JDBC ड्राइवर की आवश्यकता होती है।

यह भी देखें:

  • JAR.lang.ClassNotFoundException का सामना किए बिना कैसे युद्ध परियोजना में JAR पुस्तकालयों को जोड़ने के लिए? क्लासपाथ बनाम बिल्ड पाथ बनाम / वेब-एनएफ़ / लिब
  • मुझे सबलेट आधारित अनुप्रयोग में जेडीबीसी डाटाबेस / डेटासाईट से कैसे जुड़ना चाहिए?
  • मुझे टोमकैट के कनेक्शन पूल के लिए जेडीबीसी ड्राइवर को कहाँ रखा है?
  • जेडीबीसी क्लासपैथ काम नहीं कर रहा है

चूंकि आप इसे servlet में चला रहे हैं, इसलिए आपको सर्वलेट कंटेनर द्वारा जार पहुंचने की आवश्यकता है आप या तो अपने आवेदन war हिस्से के रूप में कनेक्टर को शामिल करते हैं या इसे सर्वलेट कंटेनर की विस्तारित लाइब्रेरी और डेटा स्रोत प्रबंधन सामग्री के भाग के रूप में रखते हैं, अगर इसमें एक है दूसरा हिस्सा पूरी तरह से कंटेनर पर निर्भर करता है जो आपके पास है।

दूसरों को अपने सर्वोलेट कंटेनर के लिए उपलब्ध चालक जार बनाने के बारे में सही है मेरी टिप्पणी का सुझाव देने के लिए मतलब था कि आप कमांड लाइन से सत्यापित करें कि क्या चालक ही बरकरार है

एक खाली main() बजाय, इस तरह से कुछ की कोशिश करें, शामिल दस्तावेजों से अनुकूलित:

 public class LoadDriver { public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); } } 

मेरे मंच पर, मैं यह करूँगा:

 $ ls mysql-connector-java-5.1.12-bin.jar 
 mysql-कनेक्टर-जावा-5.1.12-bin.jar
 $ javac LoadDriver.java 
 $ java -cp mysql-connector-java-5.1.12-bin.jar:।  चालक डालें

अपने मंच पर, आपको उपयोग करने की आवश्यकता है ; पथ विभाजक के रूप में, जैसा कि यहां और यहां पर चर्चा की गई है ।

MySQL-connector-java-5.1.6-bin.jar को \ Apache Tomcat 6.0.18 \ lib फ़ोल्डर में रखें। आपकी समस्या का हल हो जाएगा

बस इन चरणों का पालन करें:

1) एक्लिप्स स्थापित करें
2) अपाचे को ग्रहण करने के लिए आयात करें
3) स्थापित करें mysql
4) डाउनलोड करें mysqlconnector / j
5) जब तक आप इसमें बिन फ़ाइल नहीं प्राप्त करते हैं, तब तक ज़िप्ड फ़ाइल को अनजिप करें, उसके माध्यम से नेविगेट करें। फिर सभी फाइलें जो बिन युक्त फ़ोल्डर में मौजूद हैं, को C: \ Program Files \ mysql \ mysql server5.1 / में डालें, और ग्रहण को एक्लिप्स् में परिभाषित करते समय उसी पथ को दें।

ये सभी बहुत आसान लोग हैं

यदि समस्या अभी भी बनी रहती है,

अपने टोमकैट-> लिब-> फ़ोल्डर के अंदर एक जगह में- mysql-connector-java-5.0.8-bin jar को रखें (कोई बात नहीं, जहां आपने अपना टोमैक स्थापित किया है)। और अपने पर्यावरण चर (Mycomputer- गुणविधि प्रणाली की सेटिंग्स- पर्यावरण चर- पर क्लिक करके किया गया परिवर्तन करें- और उस स्थान के रूप में एक नया वैरिएबल नाम और वैरिएबल वैल्यू सेट करें, जहां आपकी लिबिल फाइल मौजूद है। पथ के अंत में दर्ज करने के लिए मत भूलो; )

यदि अभी भी समस्या बनी रहती है तो कॉमन्स-संग्रह-2.0.जर ( http://www.docjar.com/jar_detail/commons-collections-2.0.jar.html ) को डाउनलोड करने और एक ही स्थान पर जार पेस्ट करें जहां आपका माइस्क्ल जार रहता है ( यानी) अंदर टॉमकेट- lib

अपनी परियोजना को साफ करें- अपना सर्वर बंद करें- अंत में चलाने का प्रयास करें।

कई बार मैं इस समस्या का सामना कर रहा हूं, मैंने अनुभव किया है ClassNotFoundException। अगर जार भौतिक स्थान पर नहीं है

तो सुनिश्चित करें कि वेब फ़ाइल (mysql कनेक्टर) को वेब-आईएनएफ़ लिब फ़ोल्डर के भौतिक स्थान में। और सुनिश्चित करें कि सीएमडी में शटडाउन कमांड का इस्तेमाल करके टोमैक को पुनरारंभ करें। यह काम करना चाहिए।

मेरे लिए एकमात्र उपाय है जो वेब-आईएनएफ / लिब के तहत .jar फ़ाइल डाल रहा है। आशा है कि इससे मदद मिलेगी

अपना प्रोजेक्ट मानते हुए मेवेन आधारित है, इसे अपने पोम में जोड़ें:

  <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> 

सहेजें> बिल्ड> और फिर कनेक्शन का परीक्षण करें यह काम करता हैं! आपका वास्तविक MySQL जावा कनेक्टर संस्करण भिन्न हो सकता है

आपको क्या करना नहीं चाहिए (खासकर जब साझा परियोजना पर काम करना)

ठीक है, उसके बाद भी यही समस्या थी और कुछ जवाब यहां और अन्य स्थानों पर पढ़ने के बाद। ऐसा लगता है कि WEB-INF/lib external lib में external lib डालना अच्छा विचार नहीं है क्योंकि यह pollute webapp/JRE libs with server-specific libraries – अधिक जानकारी के लिए इस उत्तर की जांच करें "

एक अन्य समाधान जो मैं सुझा नहीं करता है: इसे टॉमकेट / लिब फ़ोल्डर में कॉपी करने के लिए हालांकि यह काम कर सकता है, साझा साझा (उदाहरण के लिए git) प्रोजेक्ट के लिए निर्भरता का प्रबंधन करना कठिन होगा।

अच्छा समाधान 1

vendor फ़ोल्डर बनाएँ वहाँ अपने सभी बाहरी लिब में डाल दिया फिर, इस फ़ोल्डर को अपने प्रोजेक्ट पर निर्भरता के रूप में मैप करें। में ग्रहण करने की आवश्यकता है

  1. अपने फ़ोल्डर को build path
    1. Project Properties -> Java build path
    2. Libraries -> अपनी फाइल / फ़ोल्डर जोड़ने के लिए बाह्य लिब या किसी भी अन्य समाधान जोड़ें
  2. deployment Assembly ( संदर्भ ) के लिए अपना बिल्ड पथ जोड़ें
    1. Project Properties -> Deployment Assembly
    2. Add -> Java Build Path Entries
    3. अब आप अपने निर्माण पथ पर पुस्तकालयों की सूची देख सकते हैं जिसे आप अपने तैयार युद्ध में शामिल करने के लिए निर्दिष्ट कर सकते हैं।
    4. जिन लोगों को आप चाहते हैं उन्हें चुनें और फ़िर समाप्त करें।

अच्छा समाधान 2

परियोजना निर्भरता को प्रबंधित करने के लिए maven (या कोई वैकल्पिक) का उपयोग करें

Mysql-connector-java-5.1.38-bin.jar को C: \ Program Files \ Apache Software Foundation \ Tomcat 7.0 \ lib फ़ोल्डर को रखो। निष्पादित करने के साथ इस प्रोग्राम को करके

 Right click on the Project, go to Properties. Choose Deployment Assembly (if not found, read the update part) from the left pane. Check if Java Build Path Entries are provided. If not, click on Add and include it. If it is already present, click Add to include your connector jar as Archive. Do a Project>Clean, restart your Server. 

इस त्रुटि के लिए:

 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 

आपको:

 Import java.sql.*; Import com.mysql.jdbc.Driver; 

भले ही ऐप चलाने तक इसका इस्तेमाल न हो।