2016-09-13 7 views
10

"संकलन समूह" और "संकलन" के बीच क्या अंतर है? एक निर्भरता को परिभाषित करने का एक और तरीका?build.gradle: संकलित समूह बनाम संकलन, बिल्डस्क्रिप्ट, क्लासपाथ

पूर्व:

compile group: 'org.slf4j', name: 'slf4j-jcl', version: '1.7.21' 

और मैं इस बारे में सोच भी काम करेगा:

compile("org.slf4j:slf4j-jcl:1.7.21") 

क्यों मैं घोषणा mavenCentral() फिर क्या ज़रूरत है और एक अन्य निर्भरता buildscript ब्लॉक के अंदर ब्लॉक?

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.0.RELEASE") 
    } 
} 

मेरे दृष्टिकोण से, जब आप कुछ संकलित करते हैं तो यह आपके क्लासपाथ में होगा?

+0

'compile' के दो संस्करणों पर्याय बन गया है और वास्तव में व्यवहार करते हैं जा रहे हैं वही। 'निर्भरता' ब्लॉक को 'बिल्डस्क्रिप्ट' ब्लॉक में होने की आवश्यकता नहीं है। – Whymarrh

+0

'बिल्डस्क्रिप्ट' ब्लॉक में आप धीरे-धीरे निर्माण स्क्रिप्ट के लिए निर्भरताओं को निर्दिष्ट कर रहे हैं (वे build.gradle फ़ाइल को संकलित करते समय उपयोग किए जाते हैं)। जब आप निर्माण के लिए लाइब्रेरी चाहते हैं तो यह उपयोगी है लेकिन एप्लिकेशन को इसकी आवश्यकता नहीं है। उदाहरण के लिए, आप निर्माण के लिए एक एसएसबी लाइब्रेरी का उपयोग करना चाह सकते हैं लेकिन आपके एप्लिकेशन को इसकी आवश्यकता नहीं है। – Aarjav

उत्तर

8

compile आपके द्वारा बनाई जा रही परियोजना के लिए बाहरी निर्भरता निर्दिष्ट करता है। compile समूह, नाम और संस्करण की आवश्यकता है। इन्हें या तो संक्षिप्त फॉर्म "समूह: नाम: संस्करण" का उपयोग करके विभाजित या निर्दिष्ट किया जा सकता है। देख Grade Dependency Management Basics

buildscript ब्लॉक अपने Gradle की निर्भरता वाणी ही निर्माण, जबकि सामान्य निर्भरता ब्लॉक परियोजना की निर्भरता वाणी आप का निर्माण करने के

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