2013-07-23 10 views
28

मेरे कई जारों में विरोधाभासी ट्रांजिटिव निर्भरताएं (एकाधिक वसंत संस्करण) हैं। मैं अपनी सभी निर्भरताओं को स्पष्ट रूप से प्रबंधित करके विरासत संस्करण विवादों से बचना चाहता हूं, क्या ग्रैडल में सभी ट्रांजिटिव निर्भरताओं को अक्षम करना संभव है?ग्रैडल, सभी ट्रांजिटिव निर्भरताओं को कैसे अक्षम करें

मुझे पता है कि मैं अपनी निर्भरताओं में transitive = false जोड़ सकता हूं, लेकिन मुझे उम्मीद है कि एक आसान तरीका है।

configurations.all { 
    transitive = false 
} 

उत्तर

41

मैं का उपयोग कर समाप्त हो गया।

configurations { 
    // other configurations e.g. - compile.exclude module: 'commons-logging' 
    all*.transitive = false 
} 
+2

एक और समाधान ग्रैडल को संस्करण विवादों पर असफल होने और * उन * स्पष्ट रूप से (सभी संक्रमणीय निर्भरताओं को स्पष्ट रूप से प्रबंधित करने के बजाय) को हल करने के लिए बताना है। –

+0

यदि आप अपने उत्तर से खुश हैं, तो आपको इसे स्वीकार करना चाहिए ताकि प्रश्न को उत्तर के रूप में चिह्नित किया जा सके। –

+1

@ पीटर Niederwieser आपको अपने उत्तर को स्वीकार करने के लिए 48 घंटे का इंतजार करना होगा। –

6

आप सभी विन्यास आप फैल-डॉट ऑपरेटर का उपयोग कर सकते हैं इस व्यक्त करने के लिए सिर्फ एक विन्यास ब्लॉक करना चाहते हैं:

compile(group: 'org.springframework', name: 'spring', version: '2.5.2') { 
    transitive = false 
} 
संबंधित मुद्दे

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