2017-11-03 30 views
5

त्रुटि:इंटेलीजे Gradle - अज्ञात गुण

Build file 'C:\Users\Me\Dev\project\app\build.gradle' line: 21

  • What went wrong: A problem occurred evaluating root project 'app'. Could not get unknown property 'libraries' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
app.gradle

dependencies{ 
    compile libraries.my_lib 
    deploy libraries.my_lib 
} 

अंदर project.gradle

ext.libraries = { 
    my_lib: 'com.myCompany:my-lib:1.0.0' 
} 

अंदर

pom.xml अंदर

<modules> 
    <module>my-lib</modules> 
</modules> 

app.gradle के libaries. में CTRL + स्पेस दबाकर my_lib लाइब्रेरी दिखाती है जो स्वत: पूर्ण हो सकती है, लेकिन gradle clean deploy का उपयोग करके संकलित करते समय, यह विफल हो जाता है और उपरोक्त संदेश देता है।

यह केवल तब हुआ जब मैंने नवीनतम IntelliJ को आईडीई अपडेट किया।

+0

आप 'project.gradle' कहां लागू करते हैं? क्या आपने 'project.libraries.my_lib' का उपयोग करने का प्रयास किया था? –

उत्तर

2

ext केवल एक परियोजना उस में बुलाया गया था के लिए एक्सटेंशन परिभाषित करता है। आपके मामले में, libraries.my_libproject.gradle में परिभाषित किया गया है (मुझे लगता है, यह project निर्देशिका में build.gradle है), और इस प्रकार एक अलग निर्माण फ़ाइल में उपलब्ध नहीं है (app.gradle , जो मुझे लगता है, app निर्देशिका में है)) projectapp नहीं है। बाल परियोजनाओं के पास माता-पिता की संपत्तियों तक पहुंच है, और यह ext साझा करने का एकमात्र तरीका है: परियोजनाओं को एक दूसरे से संबंधित होना चाहिए।

बीटीडब्ल्यू, आप gradle.properties फ़ाइल में गुणों को परिभाषित कर सकते हैं। उनमें से कई हो सकते हैं, आपके निर्माण में प्रत्येक परियोजना के लिए। अपने निर्माण की जड़ में एक gradle.properties रखकर आप अपनी सामग्री को अपने प्रोजेक्ट पेड़ की जड़ पर लागू करते हैं, इस प्रकार, गुणों को हर जगह उपलब्ध कराते हैं (यह रूट पैरा ऑब्जेक्ट के ext ब्लॉक पर लागू होता है, जैसा कि यह पिछले पैराग्राफ से होता है)।

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