7

मेरे पास एक प्रोजेक्ट है जिसमें संकलन समय निर्भरता के रूप में apache-compress लाइब्रेरी है। यह लाइब्रेरी मेवेन का उपयोग करने लगती है और इसमें "वैकल्पिक" के रूप में स्थापित निर्भरता के साथ एक पीओएम फ़ाइल है। यहाँ पोम फ़ाइल के प्रासंगिक अनुभाग है:ग्रैडल में वैकल्पिक निर्भरता शामिल नहीं है

<dependency> 
    <groupId>org.tukaani</groupId> 
    <artifactId>xz</artifactId> 
    <version>1.5</version> 
    <optional>true</optional> 
</dependency> 

Gradle अपने प्रोजेक्ट के लिए, मैं इसे "वैकल्पिक" विशेषता की वजह से है अनुमान लगा रहा हूँ में इस लाइब्रेरी शामिल करने के लिए प्रतीत नहीं होता। क्या xz लाइब्रेरी को स्पष्ट रूप से शामिल किए बिना इस निर्भरता को शामिल करने के लिए ग्रैडल को बताने का कोई तरीका है? compile group: 'org.apache.commons', name:'commons-compress', version:'1.8.1'

+1

आइवी के साथ इसी निर्भरता का उपयोग करते हुए ऐसा लगता है कि आइवी में डिफ़ॉल्ट निर्भरताएं डिफ़ॉल्ट रूप से शामिल होती हैं, या संभवतः पूरी तरह से उस सेटिंग को अनदेखा करती हैं। – jjathman

उत्तर

9

वैकल्पिक निर्भरता सकर्मक निर्भरता समाधान के लिए विचार नहीं किया जाता है, और यदि आवश्यक हो तो स्पष्ट रूप से जोड़े जाने के लिए है:

यहाँ मेरी Gradle निर्भरता घोषणा है। (यह मेवेन में भी वही है।)

+0

निश्चित उत्तर के लिए धन्यवाद। क्या कुछ संस्करण स्पष्ट रूप से परिभाषित करने के बजाय कॉमन्स-संपीड़ित पीओएम में परिभाषित xz लाइब्रेरी का संस्करण शामिल करने के लिए ग्रेडल को बताने का कोई तरीका है? – jjathman

+4

कोई नहीं है (हालांकि मैं इसे उपयोगी साबित कर सकता हूं)। –

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