तर्कों के लिए विधि संकलन () नहीं मिल सका


95

इस समाधान के लिए बहुत लंबे समय के लिए चारों ओर देखा, और मुझे यकीन नहीं है कि मैं इसे याद किया या बस कुछ गलत किया, लेकिन मेरी ग्रैड स्क्रिप्ट संकलित नहीं होगी। मैं ग्रैडल की ओर पलायन कर रहा हूं, और इसके साथ बहुत नया हूं। मुझे निर्भरता प्रबंधन के लिए मावेन का उपयोग करने की बहुत आदत है, लेकिन ग्रैडल मुझे अब के लिए सबसे अच्छा लगता है। कोड के इस स्निपेट को चलाने से:

dependencies {
  compile group: 'org.bukkit', name: 'bukkit', version: '1.7.9-R0.1-SNAPSHOT'
  compile('io.ibj:MattLib:1.1-SNAPSHOT') {
    exclude group: 'de.bananaco'
    exclude 'net.milkbowl:vault:1.2.27'
  }
  compile group: 'net.citizensnpcs', name: 'citizens', version: '2.0.12'
  compile group: 'com.sk89q', name: 'worldedit', version: '5.6.1'
  compile group: 'com.sk89q', name: 'worldguard', version: '5.9'
  compile group: 'net.milkbowl', name: 'vault', version: '1.2.12'
  compile fileTree(dir: 'libs', includes: ['*.jar'])
}

नोट: मेरे पास जावा, मावेन, नेक्सस, छाया और विद्रोही प्लगइन्स हैं।

जब मैं अपना ग्रेडल कार्य चलाता हूं, तो मैं इस त्रुटि का सामना करता हूं:

Could not find method compile() for arguments [[io.ibj:MattLib:1.1-SNAPSHOT], build_1b5iofu9r9krp7o8mme0dqo9l$_run_closure2_closure8@66fb45e5] on root project 'project'

अगर मैं अपनी परियोजना से "मैटलिब" निर्भरता को हटा देता हूं और इसे पुन: स्थापित करता हूं

compile 'io.ibj:MattLib:1.1-SNAPSHOT'

स्क्रिप्ट पूरी हो गई है, लेकिन मेरे पास निर्भरता के मुद्दे हैं। मैं यहाँ पढ़ा:

dependencies {
  compile("org.gradle.test.excludes:api:1.0") {
    exclude module: 'shared'
  }
}

(अध्याय 50 से ग्रैडल मैनुअल से, http://www.gradle.org/docs/current/userguide/d dependency_mann.html )

कि मुझे क्या काम करना है, लेकिन मैं उलझन में हूँ कि ऐसा क्यों नहीं होता।

gradle --version आउटपुट:

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy:          2.2.0
JVM:          1.8.0_05 (Oracle Corporation 25.5-b02)
OS:           Windows 7 6.1 amd64

कोई विचार?


क्या आपको इसका कभी पता चला? मेरा ठीक यही मुद्दा है। चर्चा मंच पर किसी ने संकलित ब्लॉक के अंदर बाहर करने की सिफारिश की, लेकिन जब भी मैं ऐसा करने की कोशिश करता हूं, मुझे यह सटीक त्रुटि मिलती है।
तर्जुक

जवाबों:


7

यह होना चाहिए exclude module: 'net.milkbowl:vault:1.2.27'(ऐड module:) के रूप में दस्तावेज में विस्तार से बताया के लिए DependencyHandlerसे जुड़ा हुआ http://www.gradle.org/docs/current/javadoc/org/gradle/api/Project.html#dependencies(groovy.lang.Closure) क्योंकि ModuleDependency.exclude(java.util.Map)विधि है उपयोग किया गया।


इस सारे समय को देखते हुए, यह सबसे अधिक संभावित समस्या है जो मुझे हो रही थी। मैं तब से स्पष्ट रूप से आगे बढ़ रहा हूं, लेकिन यह नोटिस मिलने के बाद कि यह प्रश्न अभी भी खुला है, मुझे लगता है कि इसे 'सही' उत्तर के रूप में इंगित करना उचित है, क्योंकि यह निकटतम प्रतीत होता है।
इचबीनजो २ Ich ’१10

167

सुनिश्चित करें कि आप सही build.gradleफ़ाइल को संपादित कर रहे हैं । मैंने यह त्रुटि प्राप्त की जब संपादन के android/build.gradleबजाय android/app/build.gradle


7
मेरे पास भी गलत जगह था। मेरी मदद करने के लिए धन्यवाद!
५०:१६ ५:१६

3
वाट यू का मतलब गलत जगह है? किस ग्रेड फ़ाइल को संपादित करना चाहिए?
गुरु_001

@ guru_001 आपको android / app / build.gradle संपादित करने के लिए चाहिए
श्रीकांत करुमनघाट

1
अति उत्कृष्ट। मेरे लिए और दूसरों के लिए बहुत उपयोगी है, जो नए हैं।
काउजॉ जों

1
क्यों F .. उन्होंने इसे उसी का नाम दिया ??
Developerium

103

compileयह एक configurationआम तौर पर एक प्लगइन (सबसे अधिक संभावना जावा प्लगइन) द्वारा पेश किया गया है विन्यास के बारे में जानकारी के लिए एक प्रकार की मछली पकड़ने वाला उपयोगकर्ता है। अब अपनी बिल्ड स्क्रिप्ट के ऊपर जावा प्लगइन जोड़ने के लिए ट्रिक को करना चाहिए:

apply plugin:'java'

जिस क्रम में इस परिभाषा का निर्माण पर प्रभाव पड़ता है; मेरे मामले में, मैंने जार () टैग के साथ समस्या का सामना किया और रेने के नोट ने मुझे इस मुद्दे को हल करने में मदद की।
vsrikarunyan

कोटलिन के साथ काम करते हुए, कोटलिन प्लगइन लागू करना थाapply plugin: "kotlin"
प्रयागपाद

मेरी वाक्य रचना चीनी प्लगइन्स थी {आईडी 'जावा'}
ग्रेनाकोडर

8

मेरे मामले में, सभी compileबयानों ने किसी न किसी रूप में एक ही पंक्ति में व्यवस्थित किया है। अलग-अलग लाइनों में उन्हें अलग करके मुद्दा तय किया गया है।


यह एंड्रॉइड स्टूडियो पर मेरे साथ होता रहता है!
ब्रेट

हां अगर हम मॉड्यूल सेटिंग्स डायलॉग से गुण को संशोधित करते हैं तो ऐसा होता है
रंजीथ कुमार

सच। लानत gradle.build फ़ाइल जनरेटर कुछ जोड़तोड़ के बाद निर्भरता ब्लॉक में newline विभाजकों को हटा देता है।
मार्कस मार्वल

क्या सचमे? गूगल पर क्या एक बग, यह मेरी सभी नई लाइनों को हटा दिया जब मैं जाग गया और रन बटन मारा! यह वास्तव में एक बकवास आदमी है ..
प्रतीक जमरिया

7

आशा है कि नीचे दिए गए चरणों से मदद मिलेगी

अपने प्रोजेक्ट-स्तर build.gradle पर निर्भरता जोड़ें :

classpath 'com.google.gms:google-services:3.0.0'

अपने ऐप-स्तर build.gradle में प्लगइन जोड़ें :

apply plugin: 'com.google.gms.google-services'

एप्लिकेशन-स्तर build.gradle:

dependencies {
        compile 'com.google.android.gms:play-services-auth:9.8.0'
}

1
प्रश्न से इसका क्या लेना-देना है?
अनारनॉट

0

गलत ग्रेड फ़ाइल। आपके 'फ़ोल्डर' फ़ोल्डर में दाईं ओर build.gradle है।


0

मेरे मामले में मुझे कुछ फाइलों को हटाना पड़ा जो चीजों को काम करने के लिए मेरे अध्ययन के कुछ बिंदु पर ग्रेडल द्वारा बनाई गई थीं। तो, गड़बड़ करने के बाद सफाई और फिर यह ठीक चला ...

यदि आप एक git प्रोजेक्ट में इस समस्या का अनुभव करते हैं, तो git statusunrevisioned फ़ाइलों को करें और निकालें। (मेरे लिए elasticsearchएक समस्या थी plugins/analysis-icu)।

Gradle Version : 5.1.1


0

सिर्फ रिकॉर्ड के लिए: मैंने गलती से प्राथमिकता के तहत ऑफ़लाइन कार्य सक्षम किया -> बिल्ड, निष्पादन, परिनियोजन -> स्नातक -> ऑफ़लाइन कार्य को अनचेक करें , लेकिन त्रुटि संदेश भ्रामक था

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