2011-01-14 8 views
12

मैं कुछ कलाकृतियों के आधार पर हूं जो मुझे संकलित करने और चलाने के लिए आवश्यक हैं।मुझे समान निर्भरता के लिए 'रनटाइम' और 'संकलन' दोनों निर्दिष्ट क्यों करना है?

Gradle डॉक्स के अनुसार, क्रम विन्यास फैली संकलन विन्यास, तो निश्चित रूप से एक निर्भरता runtime का उपयोग कर जोड़ने एक अंतर्निहित compile निर्भरता का अर्थ है?

कम से कम यह मेरी धारणा थी, लेकिन यह काम नहीं करता है। जब runtime का उपयोग करके आर्टिफैक्ट के आधार पर, मेरी परियोजना अब संकलित नहीं होती है। दोनों संकलन और रनटाइम पर Signpost वर्गों को देखने के लिए

compile 'oauth.signpost:signpost-core:1.2.1.2' 
runtime 'oauth.signpost:signpost-core:1.2.1.2' 
आवेदन के लिए

: मैं सचमुच करना है।

क्या मुझे कुछ याद आ रही है? यह सिर्फ सही नहीं दिखता है ...

उत्तर

20

लगभग सही। रनटाइम कॉन्फ़िगरेशन, वास्तव में, संकलन कॉन्फ़िगरेशन (docs) बढ़ाता है। इसका मतलब है कि संकलित कॉन्फ़िगरेशन रनटाइम कॉन्फ़िगरेशन (docs) में कोई भी निर्भरता जोड़ा गया है।

compile 'oauth.signpost:signpost-core:1.2.1.2' दोनों, रनटाइम और संकलन में इस आर्टिफैक्ट को प्राप्त करने के लिए पर्याप्त होगा।

+2

मुझे लगता है - कितना विषम। यह समझने की कोशिश कर रहा है कि यह कैसे काम करता है। Http://www.gradle.org/0.9.1/docs/userguide/userguide_single.html#sec:java_plugin_and_dependency_management पर देखकर, क्या इसका मतलब यह है कि आकृति 20.2 में कोई भी कॉन्फ़िगरेशन उन सभी कॉन्फ़िगरेशन का संयोजन है जिनमें इनबाउंड तीर हैं ? क्लासिक 'विरासत' तरीके से 'विस्तार' के बारे में सोचते हुए, कोई विपरीत मान लेगा। – Matthias

+0

ओह और: क्या यह मानना ​​सही है कि ग्रैडल की 'रनटाइम' कॉन्फ़िगरेशन मेवेन के 'प्रदत्त' दायरे से मेल खाती है? – Matthias

+1

उपयोगकर्ता मार्गदर्शिका आरेख 20.2 में कोई कॉन्फ़िगरेशन सभी * आउटबाउंड * पथों का संयोजन है, उदा। 'testRuntime' में' रनटाइम 'और' कंपाइल 'से सबकुछ शामिल है, बीक्यूज आउटबाउंड एरो दिखाता है कि' testRuntime' 'रनटाइम' बढ़ाता है –

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