निर्भरता प्रबंधन और प्लगइन
बाहरी लाइब्रेरी प्रबंधित करें, निर्भरताएँ घोषित करें और बिल्ड की कार्यक्षमता बढ़ाने के लिए SBT प्लगइन का उपयोग करें।
निर्भरता प्रबंधन और प्लगइन, CoddyKit पर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
बाहरी लाइब्रेरी क्यों?
Scala परियोजनाएँ बनाते समय आपको अक्सर ऐसी कार्यक्षमता की आवश्यकता होती है जो मुख्य भाषा का हिस्सा नहीं होती। लॉगिंग, डेटाबेस तक पहुँच या वेब फ़्रेमवर्क इसके सामान्य उदाहरण हैं।
यह सारा कोड स्वयं लिखने के बजाय आप बाहरी लाइब्रेरी (जिन्हें निर्भरताएँ भी कहा जाता है) उपयोग कर सकते हैं। ये पहले से लिखे गए कोड पैकेज होते हैं, जिन्हें अन्य डेवलपर बना कर साझा करते हैं।
build.sbt में लाइब्रेरी जोड़ना
SBT इन बाहरी लाइब्रेरी को जोड़ना आसान बनाता है। आप libraryDependencies सेटिंग का उपयोग करके उन्हें अपनी build.sbt फ़ाइल में घोषित करते हैं।
मूल सिंटैक्स यह है:
"org.group": संगठन या समूह ID।% "artifact": आर्टिफ़ैक्ट ID (लाइब्रेरी का नाम)। Scala लाइब्रेरी के लिए अपने Scala संस्करण से स्वचालित रूप से मिलान करने हेतु%%का उपयोग करें।% "version": आपकी इच्छित लाइब्रेरी का विशिष्ट संस्करण।
उदाहरण:
libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.7.32"निर्भरता के स्कोप: कंपाइल और परीक्षण
आपकी परियोजना के केवल कुछ हिस्सों के लिए ही लाइब्रेरी आवश्यक हो सकती हैं। SBT इसे प्रबंधित करने के लिए स्कोप का उपयोग करता है।
compile(डिफ़ॉल्ट): आपके मुख्य कोड को कंपाइल करने और चलाने के लिए आवश्यक।test: केवल आपके परीक्षण कोड को कंपाइल करने और चलाने के लिए आवश्यक (जैसे ScalaTest जैसा परीक्षण फ़्रेमवर्क)।runtime: कंपाइलेशन के लिए आवश्यक नहीं, लेकिन अनुप्रयोग चलते समय आवश्यक।
आप स्कोप इस प्रकार निर्दिष्ट करते हैं:
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.16" % "test"स्वचालित निर्भरता प्राप्त करना
कल्पना कीजिए कि आपके द्वारा उपयोग किया जाने वाला कोई वेब फ़्रेमवर्क स्वयं अन्य लाइब्रेरी का उपयोग करता है। इन्हें ट्रांज़िटिव निर्भरताएँ कहा जाता है।
SBT आपके लिए इन सभी अप्रत्यक्ष निर्भरताओं को स्वचालित रूप से प्राप्त करता है। जब आप कोई लाइब्रेरी जोड़ते हैं, तो SBT उसकी अपनी निर्भरताएँ खोजकर उन्हें भी डाउनलोड करता है और सुनिश्चित करता है कि आपकी परियोजना में आवश्यक सब कुछ मौजूद हो।
इससे आपको दर्जनों लाइब्रेरी का मैन्युअल रूप से हिसाब रखने की आवश्यकता नहीं रहती!
SLF4J के साथ लॉगिंग
आइए एक सामान्य लॉगिंग लाइब्रेरी SLF4J (Simple Logging Facade for Java) के सरल कार्यान्वयन का उपयोग करें। पहले इसे अपनी build.sbt में जोड़ें:
libraryDependencies += "org.slf4j" % "slf4j-simple" % "1.7.32"अब नीचे दिया गया Scala कोड चलाकर इसे कार्य करते हुए देखें। ध्यान दें कि हम org.slf4j.LoggerFactory इम्पोर्ट करते हैं, जो हमारी नई निर्भरता से आता है।
import org.slf4j.LoggerFactory
object Main {
private val logger = LoggerFactory.getLogger(getClass.getName)
def main(args: Array[String]): Unit = {
logger.info("Hello from a logged message!")
println("This is a standard print output.")
}
}प्लगइन के साथ SBT का विस्तार
लाइब्रेरी प्रबंधित करने के अलावा, प्लगइन का उपयोग करके SBT का स्वयं भी विस्तार किया जा सकता है। प्लगइन विशेष JAR फ़ाइलें होती हैं, जो SBT में नए कमांड या सेटिंग जोड़ती हैं।
उदाहरण के लिए, अनुप्रयोगों को पैकेज करने, सर्वर पर तैनात करने या कोड फ़ॉर्मेटर जैसे विशिष्ट टूल के साथ एकीकरण करने के लिए प्लगइन उपलब्ध हैं।
वे सामान्य कार्यों को स्वचालित करने और आपके विकास कार्यप्रवाह को सुव्यवस्थित करने में सहायता करते हैं।
plugins.sbt में प्लगइन घोषित करना
नियमित निर्भरताएँ build.sbt में जाती हैं, जबकि SBT प्लगइन एक विशेष फ़ाइल project/plugins.sbt में घोषित किए जाते हैं। यह फ़ाइल आपके SBT प्रोजेक्ट की मूल डायरेक्टरी के अंदर project डायरेक्टरी में रहती है।
सिंटैक्स निर्भरताओं जैसा ही है, लेकिन आप addSbtPlugin का उपयोग करते हैं:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.1.1")इससे SBT को आपकी परियोजना के लिए निर्दिष्ट प्लगइन डाउनलोड और सक्षम करने का निर्देश मिलता है।
sbt-assembly के साथ फ़ैट JAR बनाना
एक लोकप्रिय प्लगइन sbt-assembly है। यह एक ऐसी एकल, निष्पादन योग्य "फ़ैट JAR" बनाता है जिसमें आपके अनुप्रयोग का कोड और उसकी सभी निर्भरताएँ शामिल होती हैं।
पहले प्लगइन को project/plugins.sbt में जोड़ें:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.1.1")इसे जोड़ने के बाद, JAR बनाने के लिए आप अपने टर्मिनल से sbt assembly चला सकते हैं। नीचे दिया गया Scala कोड वही है जिसे sbt-assembly पैकेज करेगा।
object Main {
def main(args: Array[String]): Unit = {
println("This is a simple application.")
println("sbt-assembly would package this along with its dependencies into a single JAR.")
}
}संस्करण प्रबंधन और रिज़ॉल्वर
जैसे-जैसे आपका प्रोजेक्ट बढ़ता है, कई निर्भरताओं को संभालना कठिन हो सकता है। यहाँ कुछ सुझाव दिए गए हैं:
- सुसंगत संस्करण: टकराव से बचने के लिए सभी मॉड्यूल में किसी लाइब्रेरी का एक ही संस्करण उपयोग करें।
- रिज़ॉल्वर: SBT रिपॉज़िटरी (जैसे Maven Central) से लाइब्रेरी प्राप्त करता है। यदि कोई लाइब्रेरी डिफ़ॉल्ट रिपॉज़िटरी में उपलब्ध न हो, तो आप कस्टम रिज़ॉल्वर जोड़ सकते हैं।
डिफ़ॉल्ट रूप से, SBT मानक सार्वजनिक रिपॉज़िटरी का उपयोग करता है। निजी लाइब्रेरी के लिए, आप build.sbt में कस्टम रिज़ॉल्वर निर्दिष्ट करेंगे।
चरणों को क्रम में लगाएँ
आप अपने स्काला प्रोजेक्ट में एक नई बाहरी लाइब्रेरी जोड़कर उसका उपयोग करना चाहते हैं। निम्नलिखित चरणों को सही क्रम में रखें।
पाठ का सारांश
बहुत अच्छा! आपने अपने स्काला प्रोजेक्ट में बाहरी कोड को प्रबंधित करना सीख लिया है।
- निर्भरताएँ (लाइब्रेरी)
libraryDependenciesका उपयोग करकेbuild.sbtमें जोड़ी जाती हैं। - SBT संक्रमणीय निर्भरताओं को संभालता है और अलग-अलग दायरों का समर्थन करता है, जैसे
compileऔरtest। - प्लगइन SBT की कार्यक्षमता बढ़ाते हैं और
addSbtPluginका उपयोग करकेproject/plugins.sbtमें घोषित किए जाते हैं।
जटिल और भरोसेमंद स्काला अनुप्रयोगों को कुशलता से बनाने के लिए निर्भरता और प्लगइन प्रबंधन में दक्षता महत्वपूर्ण है!
एआई शिक्षक के साथ Scala सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 39
- पाठ
- 143
अक्सर पूछे जाने वाले प्रश्न
क्या “निर्भरता प्रबंधन और प्लगइन” पाठ निःशुल्क है?
हाँ—“निर्भरता प्रबंधन और प्लगइन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“निर्भरता प्रबंधन और प्लगइन” में मैं क्या सीखूँगा?
बाहरी लाइब्रेरी प्रबंधित करें, निर्भरताएँ घोषित करें और बिल्ड की कार्यक्षमता बढ़ाने के लिए SBT प्लगइन का उपयोग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।
“निर्भरता प्रबंधन और प्लगइन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- SBT परियोजना सेटअप और मूल बातें
- निर्भरता प्रबंधन और प्लगइन
- बहु-परियोजना बिल्ड और परिनियोजन