मेरी ढाल परियोजना application
एक जार फ़ाइल बनाने के लिए प्लगइन का उपयोग करती है । रनटाइम सकर्मक निर्भरता के हिस्से के रूप में, मैं अंत में अंदर खींच रहा हूं org.slf4j:slf4j-log4j12
। (यह कम से कम 5 या 6 अन्य सकर्मक निर्भरताओं में उप-पारगमन निर्भरता के रूप में संदर्भित है - यह परियोजना वसंत और हडूप का उपयोग कर रही है, इसलिए सब कुछ लेकिन रसोईघर सिंक में खींचा जा रहा है ... कोई प्रतीक्षा नहीं ... वह भी :) )।
मैं विश्व स्तर पर slf4j-log4j12
जार को अपने निर्मित जार से बाहर करना चाहता हूं। तो मैंने यह कोशिश की है:
configurations {
runtime.exclude group: "org.slf4j", name: "slf4j-log4j12"
}
हालाँकि, इसमें सभी org.slf4j
कलाकृतियों को शामिल नहीं किया गया है slf4j-api
। डिबग मोड के तहत चलने पर मुझे इस तरह की लाइनें दिखाई देती हैं:
org.slf4j#slf4j-api is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime).
org.slf4j#slf4j-simple is excluded from com.pivotal.gfxd:gfxd-demo-mapreduce:1.0(runtime).
org.slf4j#slf4j-log4j12 is excluded from org.apache.hadoop:hadoop-common:2.2.0(runtime).
मैं नहीं चाहता कि प्रत्येक slf4j-log4j12
सकर्मक निर्भरता के स्रोत को देखें और फिर compile foo { exclude slf4j... }
मेरे dependencies
ब्लॉक में अलग-अलग वक्तव्य हों ।
अपडेट करें:
मैंने भी यह कोशिश की:
configurations {
runtime.exclude name: "slf4j-log4j12"
}
जो निर्माण से सब कुछ को छोड़कर समाप्त होता है ! जैसा कि मैंने निर्दिष्ट किया है group: "*"
।
अपडेट 2:
मैं इसके लिए ग्रैडल संस्करण 1.10 का उपयोग कर रहा हूं।