2012-12-30 8 views
15

मैंने अभी "वेब प्रवाह के साथ प्रो स्प्रिंग एमवीसी" पढ़ना शुरू किया है और यह एक कोड नमूना के साथ आता है जिसे मैं अनुसरण करना चाहता हूं।ग्राडल बिल्ड का प्रयास करना - "टास्क 'बिल्ड' रूट प्रोजेक्ट में नहीं मिला"

  • क्या मैं चाहता हूँ - मैं अनुप्रयोगों के निर्माण के रूप में यह पुस्तक में किया है चाहता हूँ, का उपयोग कर Gradle
  • क्या है समस्या - मैंने पहले Gradle का इस्तेमाल किया और कभी नहीं किया है जब मैं क्या निष्पादित करने के लिए कोशिश मुझे लगता है कि मुझे यह त्रुटि मिलनी है Task 'build' not found in root project
  • मैंने अब तक क्या किया है - कल मैंने आधिकारिक साइट से Gradle डाउनलोड किया और इसे काम किया। आज जब मैंने वास्तव में पुस्तक से कदमों को निष्पादित करने का प्रयास किया तो यह पता चला कि नमूना कोड इसके स्वयं के ग्रैडल वितरण के साथ आता है और मैंने इसे निष्पादित किया जो मुझे लगता है कि ग्रैडल का दूसरा डिस्ट्रीब प्राप्त करने के बाद मुझे लगता है। हालांकि मुझे नहीं पता कि यह एक समस्या हो सकती है या नहीं। अब नमूना कोड के साथ मेरी निर्देशिका इस तरह दिखता है: enter image description here

तो यह लिखा है मैं ../gradlew build जो मैं इस तरह अमल निष्पादित और निम्न प्राप्त करने के लिए है: enter image description here

  • मैं क्या है की कोशिश की - केवल एक चीज जो मेरे दिमाग में आई थी, केवल ग्रैडल की चीजें और appendixA-bookstore फ़ोल्डर छोड़ना था, यदि ग्रैडल सभी निर्देशिकाओं को अलग-अलग निर्माण के रूप में पहचानता है लेकिन कोई सफलता नहीं होती है।
  • अंतिम परिणाम क्या है कि मैं पूरा करना चाहता हूं - सबसे पहले मैं यह जानना चाहता हूं कि मेरी गलती कहां है और नमूना आवेदन कैसे बनाएं। और यह भी सही होगा अगर मैं वास्तव में अपने पहले Gradle सेटअप से ऐसा कर सकता हूं जैसा कि मैंने कल लिखा था और इस नमूना कोड का उपयोग अपने ताजा और मूल ग्रैडल सेटअप के साथ करने के लिए मुझे क्या करना चाहिए?

उत्तर

18

आपने जो कुछ करने के लिए कहा जा रहा है वह नहीं किया।

क्या कहा जाता है:

मैं ../gradlew निर्माण

आप

cd .. 
gradlew build 

एक ही बात नहीं है कि क्या निष्पादित करने के लिए किया है।

पहले एक .. निर्देशिका (mdeinum...) में पाया gradlew आदेश का उपयोग करें, और निर्माण फ़ाइल वर्तमान निर्देशिका है, जो (उदाहरण के लिए) chapter1-bookstore है में निष्पादित करने के लिए दिखेगा।

दूसरा निर्देशिका वर्तमान निर्देशिका (mdeinum...) में मिले gradlew कमांड को निष्पादित करेगा, और वर्तमान निर्देशिका में निष्पादित करने के लिए बिल्ड फ़ाइल को देखें, जो mdeinum... है।

तो निष्पादित बिल्ड फ़ाइल समान नहीं है।

+0

के लिए काम किया मुझे यकीन है कि तुम मुझे क्या करने की सुझाव दे रहे हैं क्या नहीं कर रहा हूँ। नमूना कोड एक 'ज़िप' फ़ाइल में आता है जिसमें प्रिंटरस्क्रीन के साथ-साथ 'gradlew' बैच फ़ाइल' पर सभी निर्देशिकाएं शामिल होती हैं जिन्हें मैंने निष्पादित किया था। ऐसा ही हुआ कि मैंने डेस्कटॉप पर निर्देशिका को अनजिप कर दिया ताकि मेरा पथ 'सी: \ उपयोगकर्ता \ Xman \ डेस्कटॉप \ mdeinum-pro-spring-mvc-code-5d01f03' है और मुझे लगता है कि मुझे स्पष्ट रूप से निर्देश नहीं मिलते हैं ठीक है लेकिन मुझे यह काम करने के लिए क्या बदलना है? – Leron

+1

जो कुछ आपको करने के लिए कहा जा रहा है वह करें। अध्याय 1 बनाने के लिए, अध्याय 1 निर्देशिका में जाएं, और '.. \ gradlew build' कमांड निष्पादित करें। 'gradlew' वर्तमान निर्देशिका में स्थित 'build.gradle' फ़ाइल निष्पादित करता है। इसलिए, 'Chapter1' निर्देशिका से' gradlew' निष्पादित करने से वही काम नहीं होता है जो इसे मूल निर्देशिका से निष्पादित करता है: 'build.gradle' फ़ाइल समान नहीं है। –

+0

कोशिश की गई 'सी: \ उपयोगकर्ता \ एक्समैन \ डेस्कटॉप \ mdeinum-pro-spring-mvc-code-5d01f03 \ appendixA-bookstore \ .. \ gradlew build' और कुछ अन्य संशोधन लेकिन कोई सफलता नहीं, क्या आप वास्तव में कैसे सटीक हो सकते हैं इसे निष्पादित करने के लिए? इतना नया होने के लिए खेद है। – Leron

0

रन

gradle clean 

तो

gradle build 

कोशिश यह मेरे

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