का उपयोग करके बहु जावा परियोजना का निर्माण करना मैं इस पर अपने बालों को फाड़ रहा हूं। मैंने अपनी स्क्रिप्ट को सीधे ग्राडल ट्यूटोरियल पृष्ठों में प्रदान किए गए कोड पर छीन लिया है क्योंकि मुझे लगता है कि मैं या तो मौलिक रूप से गलत कुछ कर रहा हूं या गलत समझा है कि कैसे एक बहु परियोजना अनुप्रयोग को ग्रेडल का उपयोग करके संरचित किया जाना चाहिए।ग्रैडल
मुझे ग्रहण के भीतर तीन जावा परियोजनाएं मिली हैं, जिनमें तीनों में एक build.gradle स्क्रिप्ट है और केवल एक सेटिंग है .gradle स्क्रिप्ट।
Scripts
-- build.gradle
-- settings.gradle
Database
-- build.gradle
Services
-- build.gradle
मैं 'डाटाबेस' और 'सेवा' परियोजना 'स्क्रिप्ट' परियोजना में निर्माण स्क्रिप्ट का उपयोग कर बनाने का प्रयास कर रहा हूँ: संरचना इस प्रकार है। परियोजना पेड़ बनाने के लिए, मैं settings.gradle में निम्नलिखित कोड है:
include 'Services', 'Database'
project (':Services').projectDir = new File(settingsDir, "../Services")
project (':Database').projectDir = new File(settingsDir, "../Database")
बहु परियोजना ट्यूटोरियल में कोड (Gradle दस्तावेज़) प्रतिकृति, मैं प्रिंट करने के लिए निर्माण स्क्रिप्ट से प्रत्येक पाने के लिए कोशिश कर रहा हूँ यह सुनिश्चित करने के लिए कि सब कुछ ठीक से स्थापित है, कुछ पाठ बाहर करें। मेरा अंतिम लक्ष्य निर्भरता है कि 'ग्रहण क्लासपाथ' निष्पादित होने पर निर्भरता सही ढंग से बनाई जाए, ताकि सभी परियोजनाएं ग्रहण के भीतर सही ढंग से संकलित हो जाएं। हालांकि, जैसा कि मैंने उम्मीद की थी, पाठ मुद्रित नहीं किया जा रहा है!
नीचे क्या तीन निर्माण स्क्रिप्ट के भीतर निहित है कर रहे हैं:
स्क्रिप्ट build.gradle
allprojects {
task hello << { task -> println "I'm $task.project.name" }
}
subprojects {
hello << {println "- I depend on Scripts"}
}
डाटाबेस build.gradle
hello.doLast {
println "- I'm inside database"
}
सेवाएं build.gradle
hello.doLast {
println "- I'm inside services"
}
'स्क्रिप्ट' परियोजना के भीतर, जब मैं रन 'Gradle -q हैलो', मैं निम्नलिखित परिणाम प्राप्त:
I'm Scripts
I'm AnprDatabase
- I depend on Scripts
I'm Database
- I depend on Scripts
पाठ क्यों है '- मैं डेटाबेस के अंदर हूँ' और 'अंदर -मैं सेवाएं 'दिखाई नहीं दे रही हैं? मैं इसके द्वारा थोड़ा परेशान हूँ। मैं केवल यह अनुमान लगा सकता हूं कि मेरे प्रोजेक्ट स्ट्रक्चर के साथ कुछ करना है। क्या कोई यह पुष्टि कर सकता है कि यह मामला है? यदि नहीं, तो समस्या क्या है? जैसा कि बताया गया है, मैंने अपनी स्क्रिप्ट को इस सरल उदाहरण पर वापस कर दिया है, क्योंकि मैं एक ही संरचना का उपयोग करके प्रत्येक प्रोजेक्ट बनाने स्क्रिप्ट के भीतर निर्भरता प्राप्त नहीं कर सका।
किसी भी मदद की पेशकश की बहुत सराहना करते हैं।
मेरे लिए ठीक काम करता है, 'gradle-1.0-milesestone-3' – axtavt
मैं धीरे-धीरे के समान संस्करण का उपयोग कर रहा हूं। क्या आपके आवेदन में जावा परियोजनाएं समान संरचना में हैं? – ScreamingMage
आपके लिए एक और सवाल है, क्या आपकी बिल्ड स्क्रिप्ट आपके समकक्ष 'स्क्रिप्ट' प्रोजेक्ट के भीतर से चल रही है या यह तीन परियोजनाओं की जड़ पर है? मैं 'स्क्रिप्ट्स' प्रोजेक्ट – ScreamingMage