कार्यक्षेत्र को compile
में बदलें :
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
कौन सा - चूंकि यह डिफ़ॉल्ट दायरा है, स्कोप परिभाषा को बिल्कुल छोड़ने के अनुरूप है - प्रकार के लिए समान मायने रखता है:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.17</version>
</dependency>
इसे देखें:https://maven.apache .org/guides/introduction/introduction-to-dependency-mechanism.html स्कोपिंग के बारे में विस्तृत जानकारी के लिए।
यहां आपकी पृष्ठभूमि के लिए एक त्वरित जानकारी दी गई है:
आपने JDBC ड्राइवर को runtime
. के दायरे के लिए निर्दिष्ट किया है . वैसे भी अधिकांश IDE कार्यक्षेत्रों को अनदेखा कर देंगे और आपकी सभी निर्भरताओं को उनकी . में जोड़ देंगे क्लासपाथ (उदाहरण के लिए जब आप ग्रहण के बाहर कुछ चलाते हैं तो क्लासपाथ का उपयोग किया जाता है। स्कोप runtime
द्वारा आप मेवेन को बता रहे हैं कि उसे उस निर्भरता को अपने अंतिम जार में पैक नहीं करना चाहिए क्योंकि निष्पादन पर्यावरण "runtime
पर निर्भरता प्रदान करेगा" . उदा. आपको या तो अपने जार को कॉल करते समय इसे मैन्युअल रूप से क्लासपाथ में जोड़ना होगा या स्कोप को compile
में बदलना होगा जो आपके जार के अंदर पैक किए गए ड्राइवर-जार मधुमक्खी को ले जाएगा और रनटाइम पर उपलब्ध होगा।