आप क्लासपाथ पर एक फ़ोल्डर का संदर्भ देते हैं और उम्मीद करते हैं कि इसमें सभी जार लोड होंगे। ऐसा नहीं है कि क्लासपाथ कैसे काम करता है, आपको विशिष्ट जार को संदर्भित करने की आवश्यकता है (और आम तौर पर आपको नहीं चाहिए JDK फोल्डर के अंदर थर्ड पार्टी जार डालें)।
यह जानना भी महत्वपूर्ण है कि CLASSPATH
सबसे बुनियादी उपयोग के मामलों को छोड़कर, आमतौर पर जावा अनुप्रयोगों द्वारा अनदेखा किया जाता है।
आप वह कर सकते हैं जो आप करने का प्रयास करते हैं:
java -cp <path-to>\ojdbc7.jar oracle.jdbc.OracleDriver
यह बीटीडब्ल्यू विफल हो जाएगा क्योंकि OracleDriver
कोई public static void main(String[] args)
विधि और इसलिए इस तरह नहीं चलाया जा सकता है। JDBC ड्राइवर का उपयोग करने का सामान्य तरीका ड्राइवर को एप्लिकेशन क्लासपाथ पर रखना है, और बस सही ड्राइवर URL निर्दिष्ट करना है। JDBC 4.0 (जावा 6) या उच्चतर अनुपालन वाले ड्राइवर स्वचालित रूप से क्लासपाथ से लोड हो जाएंगे (जैसा कि -cp
के साथ निर्दिष्ट किया गया है) , Class-Path
मेनिफेस्ट एंट्री आदि)।
एक असंबंधित नोट पर, oracle.jdbc.driver.OracleDriver
पदावनत माना जाता है, oracle.jdbc.OracleDriver
. का उपयोग करें इसके बजाय, Oracle jdbc ड्राइवर क्लासेस के बीच अंतर देखें?