ग्रेड की निर्भरता ग्राफ में '->' (तीर) का क्या अर्थ है?


83

मैं कुछ एंड्रॉइड परीक्षण चलाने की कोशिश कर रहा हूं, हालांकि, कंपाइलर शिकायत करता है कि कई डेक्स फाइलें मौजूद हैं।

Multiple dex files define Lorg/hamcrest/MatcherAssert;

इसलिए मैं डुप्लिकेट निर्भरताओं को फ़िल्टर करने का प्रयास कर रहा हूं: $ ./gradlew -q dependencies app:dependencies --configuration androidTestCompile

हालाँकि मुझे निम्नलिखित आउटपुट मिलते हैं:

------------------------------------------------------------
Project :app
------------------------------------------------------------

androidTestCompile - Classpath for compiling the androidTest sources.
+--- org.mockito:mockito-core:1.9.5
|    +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
|    \--- org.objenesis:objenesis:1.0 -> 2.1
+--- com.google.dexmaker:dexmaker-mockito:1.2
|    +--- com.google.dexmaker:dexmaker:1.2
|    \--- org.mockito:mockito-core:1.9.5 (*)
+--- com.android.support.test.espresso:espresso-core:2.0
|    +--- com.squareup:javawriter:2.1.1
|    +--- org.hamcrest:hamcrest-integration:1.1
|    |    \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
|    +--- org.hamcrest:hamcrest-library:1.1
|    |    \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
|    +--- javax.inject:javax.inject:1
|    +--- com.android.support.test.espresso:espresso-idling-resource:2.0
|    +--- com.android.support.test:testing-support-lib:0.1
|    |    \--- junit:junit-dep:4.10
|    |         \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
|    +--- com.google.code.findbugs:jsr305:2.0.1
|    +--- javax.annotation:javax.annotation-api:1.2
|    \--- org.hamcrest:hamcrest-core:1.1 -> 1.3
+--- com.android.support.test:testing-support-lib:0.1 (*)
+--- org.powermock:powermock-module-junit4:1.5.6
|    +--- junit:junit:4.11
|    |    \--- org.hamcrest:hamcrest-core:1.3
|    \--- org.powermock:powermock-module-junit4-common:1.5.6
|         +--- junit:junit:4.4 -> 4.11 (*)
|         +--- org.powermock:powermock-core:1.5.6
|         |    +--- org.powermock:powermock-reflect:1.5.6
|         |    |    \--- org.objenesis:objenesis:2.1
|         |    \--- org.javassist:javassist:3.18.2-GA
|         \--- org.powermock:powermock-reflect:1.5.6 (*)
\--- org.powermock:powermock-api-mockito:1.5.6
     \--- org.powermock:powermock-api-support:1.5.6
          +--- org.powermock:powermock-core:1.5.6 (*)
          \--- org.powermock:powermock-reflect:1.5.6 (*)

(*) - dependencies omitted (listed previously)

मैं उलझन में हूँ कि तीर (->) का क्या मतलब है। उनका क्या मतलब है?

जवाबों:


136

इसका मतलब है कि निर्भरता ग्राफ में एक ही groupऔर moduleलेकिन जैसे विभिन्न संस्करणों के साथ कई निर्भरताएं हैं org.hamcrest:hamcrest-core। ग्रैड अपने आप विवादित संस्करणों को हल करने की कोशिश करता है - डिफ़ॉल्ट रूप से नवीनतम संस्करण चुना जाता है। बाईं ओर ->अनुरोधित संस्करण है, दाईं ओर का संस्करण जिसे उठाया जाएगा। यहां इसी तरह का प्रश्न पाया जा सकता है।


1
मैंने उत्थान किया है, क्या आप बता सकते हैं कि निर्भरता का मतलब क्या है?
java123999

1
इसका मतलब यह है कि रिपोर्ट में कहीं और, निर्भरता को पहले से ही पूरी तरह से निर्भरता के साथ प्रस्तुत किया गया था, इसलिए यहां यह केवल जड़ है।
ओपल

3
@ java123999। एक निर्भरता की अपनी निर्भरता हो सकती है। Iy यह भी हो सकता है कि एक निर्भरता दो बार सूचीबद्ध हो। ऐसे मामले में केवल पहली प्रविष्टि के लिए निर्भरताएं मुद्रित की जाएंगी, जबकि दूसरी प्रविष्टि के साथ चिह्नित किया जाएगा (*)
ओपल

1
तो * मूल रूप से नकली निर्भरता इंगित करता है?
java123999

1
अगर मुझे कम से कम x संकेत नहीं लिखना है तो Inwould बस लिखें: हाँ।
ओपल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.