ग्रहण: त्रुटि ".. किसी अन्य परियोजना के स्थान को ओवरलैप करता है .." जब नई परियोजना बनाने की कोशिश कर रहा है


108

मैं एक नया प्रोजेक्ट बनाते समय ग्रहण में एक त्रुटि संदेश प्राप्त करता रहता हूं।

मैंने स्तर पर एक कार्यक्षेत्र बनाया है

C: \ Users \ मार्टिन \ जावा \ काउंटर

काउंटर के अंदर कोई फ़ाइल नहीं है, लेकिन एक निर्देशिका है जिसे काउंटर_ src कहा जाता है जिसमें प्रोजेक्ट काउंटर के लिए स्रोत फ़ाइलें हैं

इसलिए एक्लिप्स I में, न्यू जावा प्रोजेक्ट, और फिर डिफ़ॉल्ट स्थान को अनचेक करें और डायरेक्टरी चुनें

counter_src (जो काउंटर से एक स्तर नीचे है)

लेकिन यह अब प्रदर्शित होता है

C: \ Users \ Martin \ Java \ Counter \ counter_src किसी अन्य प्रोजेक्ट के स्थान को ओवरलैप करता है: 'counter_src'

अब अगर मैं अपना कार्यक्षेत्र बनाता हूं

C: \ Users \ मार्टिन \ जावा \

जिसका मतलब है कि मेरा काउंटर_ वास्तव में 2 स्तर नीचे है, तो यह मुझे अनुमति देता है, लेकिन समस्या यह है कि निर्देशिका जावा में बहुत सारी परियोजनाएं हैं, इसलिए मैं काउंटर (जिसमें कोई फाइल नहीं है) में कार्यक्षेत्र बनाना चाहता था जिसमें काउंटर_एसकेवी की उपनिर्देशिका है जहां मेरे कंप्यूटर की फाइलें हैं कर रहे हैं।

C: \ Users \ Martin \ Java \ में निर्देशिका बनाने का भी परीक्षण किया गया और यह भी काम करता प्रतीत होता है, लेकिन मैं "C: \ Users \ Martin \ Java \" में एक और उपनिर्देशिका नहीं बनाना चाहता था, ताकि मैं केवल 1 प्रोजेक्ट के लिए अपने कार्यक्षेत्र को संग्रहीत कर सकूं ।


क्या आपने फ़ोल्डर को हटाने की कोशिश की है counter_src, फिर प्रोजेक्ट बना रहा है (जो निर्देशिका बनाएगा), फिर स्रोत फ़ाइलों को आयात कर रहा है?
Justderb

1
हाय जस्टबर्ब! हां पर्याप्त यकीन है कि अगर मैं यह काम करता है counter_src निकाल दें। ऐसा लगता है कि अगर निर्देशिका मौजूद है और मैं "डिफ़ॉल्ट स्थान का उपयोग" अनचेक करता हूं तो मुझे एक समस्या आती है। यदि निर्देशिका मौजूद है और मैं प्रोजेक्ट का नाम counter_srv देता हूं, तो मुझे "डिफ़ॉल्ट लोकोटिएन का उपयोग करने" को अनचेक करने की आवश्यकता नहीं है। यह भी काम करता है .... क्या यह एक बग है?
मार्टिन

तो क्या इससे आपकी समस्या हल हो गई है ?? इसके अलावा, यह हो सकता है ... लेकिन मैंने इसमें बहुत ज्यादा नहीं देखा :)
justderb

1
मार्टिन: एक बेकार जगह, हाँ। ग्रहण का UX भयानक है, विशेष रूप से इसकी जावा-केंद्रित धारणाओं (हमारे लिए पायथन उपयोगकर्ताओं) के साथ कि बिल्डिंग कुछ अपारदर्शी पवित्र संचालन है जो आवश्यक है, और परियोजनाओं को अलग-अलग निर्देशिकाओं में रहने का कारण बनता है, जिसे खरोंच के साथ बनाया जाना चाहिए। एक चेतावनी संवाद "प्रोजेक्ट डायरेक्टरी पहले से मौजूद है। वैसे भी बनाएं?" सही थिंग करने के बाद ग्रहण के द्वारा उपयोगकर्ता के अनुकूल व्यवहार अधिक असफल होगा और उपयोगकर्ता को एक गैर-स्पष्ट अलग कमांड का उपयोग करने की आवश्यकता होगी ...
smci

जवाबों:


89

ग्रहण त्रुटिपूर्ण है क्योंकि यदि आप कोशिश करते हैं और एक निर्देशिका पर एक परियोजना बनाते हैं जो मौजूद है, तो ग्रहण यह नहीं जानता कि क्या यह एक वास्तविक परियोजना है या नहीं - इसलिए यह त्रुटियां हैं, जो आपको काम खोने से बचाती हैं!

तो आपके पास दो उपाय हैं:

  1. फ़ोल्डर को counter_srcकहीं और ले जाएं , फिर प्रोजेक्ट बनाएं (जो डायरेक्टरी बनाएगा), फिर सोर्स फाइल्स को नए बनाए गए में वापस आयात करें counter_src

  2. प्रोजेक्ट एक्सप्लोरर पर राइट-क्लिक करें और एक मौजूदा प्रोजेक्ट को आयात करें, C:\Users\Martin\Java\Counter\अपनी रूट डायरेक्टरी के रूप में चुनें । यदि ग्रहण एक परियोजना को देखता है, तो आप इसे आयात करने में सक्षम होंगे।


2
ज़रूर, लेकिन एक चेतावनी संवाद "परियोजना निर्देशिका पहले से मौजूद है। फिर भी बनाएं?" सही थिंग करने के बाद एक्लिप्स के बजाय उपयोगकर्ता द्वारा उपयोगकर्ता के अनुकूल व्यवहार करना विफल होगा और उपयोगकर्ता को एक गैर-स्पष्ट अलग कमांड का उपयोग करने की आवश्यकता होगी ...
23

92

इसलिए, मेरे पास एक ही मुद्दा था, लेकिन "आयात ..." मेनू के माध्यम से एंड्रॉइड कोड आयात करने की कोशिश कर रहा था । जब उपर्युक्त दो समाधानों में से कोई भी ग्रहण जूनो पर काम नहीं किया:

  • ग्रहण -> फ़ाइल -> आयात -> सामान्य -> ​​कार्यक्षेत्र में मौजूदा परियोजना (ध्यान दें: 'अंदाजा नहीं है' परियोजना )

  • (परियोजनाओं को सही ढंग से आयात करना चाहिए, लेकिन त्रुटियां होनी चाहिए। हमें अब परियोजना को एसडीके संलग्न करना होगा)

  • प्रोजेक्ट पर राइट-क्लिक करें, गुण-> Android-> प्रोजेक्ट बिल्ड लक्ष्य उपयुक्त बिल्ड लक्ष्य चुनें (संदेह में, प्रोजेक्ट में 4.0.3 का उपयोग नया है, और प्रोजेक्ट पुराना होने पर 2.2 का उपयोग करें)

  • ओके पर क्लिक करें

एक बार परियोजना के पुनर्निर्माण के बाद, सब कुछ वापस क्रम में होना चाहिए।

(यह तब लिखा गया था जब ग्रहण इंडिगो प्रचलन में था, और हो सकता है कि कोने के मामलों को कवर करने के लिए Google अपने टूल को अपडेट कर दे।)


8
"एक्जिस्टिंग एंड्रॉइड प्रॉजेक्ट" भाग मेरी समस्याओं का कारण बन रहा था। मेरे लिए समस्या तय करने वाले उत्तर के लिए +1; धन्यवाद।
स्टीवेहा

1
"मौजूदा परियोजना में कार्यक्षेत्र" एंड्रॉइड प्रोजेक्ट को नहीं देखता है
18446744073709551615

यह केवल उन परियोजनाओं के लिए काम करता है जो पहले से ही ग्रहण परियोजनाएं हैं, न कि कोई "मौजूदा एंड्रॉइड कोड"। मैं केवल AndroidManifest.xml से एक Android प्रोजेक्ट आयात करने का प्रयास कर रहा हूं। 'कार्यक्षेत्रों में कॉपी प्रोजेक्ट्स' की जाँच करते हुए बॉक्स ने प्रक्रिया को आगे बढ़ने दिया, लेकिन AndroidManifest.xml फ़ाइल को हटा दिया और नए नामों के साथ डुप्लिकेट प्रोजेक्ट बनाए। अंत में मेरे लिए सबसे अच्छा काम करने वाली चीज कोड आयात करना था जबकि परियोजनाएं मेरे डब्ल्यूएस के बाहर थीं , फिर उन्हें एक्लिप्स से हटा दें, उन्हें डब्ल्यूएस में स्थानांतरित करें और "मौजूदा एक्लिप्स प्रोजेक्ट्स" के रूप में पुन: आयात करें (ऊपर वर्णित)। एक बग माना जाना चाहिए।
नील ट्रैफ्ट

2
इस कदम ने Eclipse -> File -> Import -> General -> Existing Project Into Workspace (NOTE: NOT 'EXISTING ANDROID PROJECT')धन्यवाद का काम किया
नारुतो

29

आपने अपने कार्यक्षेत्र में प्रोजेक्ट को छोड़ दिया है, और फिर इसे आयात करने की कोशिश कर रहे हैं, यही समस्या है।

इसके दो समाधान हैं:

1. किसी अन्य स्थान पर आपके कार्यक्षेत्र के बाहर आपका प्रोजेक्ट फ़ोल्डर और फिर प्रयास करें।

2. जानाFile ---> new Project ---> Select the existing project radio button ---> browse to the project folder in your workspace ---> finish

संपादित

D: \ MyDirectory \ MyWorkSpace - अपने कार्यक्षेत्र का पथ मान लें

अपनी परियोजना को छोड़ दें जिसे आप MyDirectory फ़ोल्डर में ग्रहण में आयात नहीं करना चाहते हैं MyWorkSpace में, और प्रयास करें।


लेकिन अगर मैं अपना कार्यक्षेत्र 1 निर्देशिका वापस ले जाऊं और फिर कोशिश करूं .. तो अब यह काम करता है ... ऊपर दिए गए स्तरों आदि के संबंध में मेरे मूल संदेश को देखें
मार्टिन

22

मेरे मामले में चेक-बॉक्स की जाँच

"प्रोजेक्ट प्रोजेक्ट को कार्यक्षेत्र में कॉपी करें"

चाल चली।


3

बस "CUT" प्रोजेक्ट फ़ोल्डर और इसे कार्यक्षेत्र निर्देशिका से बाहर ले जाएं और निम्न कार्य करें

file=>import=>(select new directory)=> mark (copy to my workspace) checkbox 

और तुमने किया!


3

यह भी पता लगाने के लिए मुझे कुछ समय लगा।

उपाय:

मौजूदा कार्यक्षेत्र के तहत एक नया मावेन प्रोजेक्ट बनाने के लिए, बस " डिफ़ॉल्ट कार्यस्थान स्थान का उपयोग करें " टिक किया हुआ है ( ग्रे किए गए स्थान पाठ इनपुट में क्या है इसे अनदेखा करें )।

निर्माण विज़ार्ड के चरण 2 में प्रोजेक्ट का नाम आपके द्वारा Art Id Id द्वारा निर्धारित किया जाएगा ।

तर्क:

यह मेरे मामले में इसलिए भ्रमित करने वाला था, क्योंकि जब मैंने एक नया मावेन प्रोजेक्ट बनाने के लिए चयन किया था: डिफ़ॉल्ट कार्यक्षेत्र शिथिलता से छेड़छाड़ की जाती है और सीधे इसे आगे बढ़ाते हुए "स्थान" पाठ इनपुट में कार्यक्षेत्र स्थान + मौजूदा परियोजना जिसे मैं देख रहा था एक नई Maven परियोजना बनाने से पहले चुनें। (अर्थात: स्थान = '[कार्यक्षेत्र पथ] / अंतिम बार परियोजना को देखा')

इसलिए मैंने डिफ़ॉल्ट कार्यक्षेत्र स्थान बॉक्स को खोल दिया और '[कार्यक्षेत्र पथ] / नई परियोजना' में प्रवेश किया, जो काम नहीं करता था क्योंकि ग्रहण की उम्मीद है कि [कार्यक्षेत्र पथ] डिफ़ॉल्ट पथ की तुलना में अलग हो। (अन्यथा हम डिफ़ॉल्ट कार्यक्षेत्र चेक बॉक्स का चयन करेंगे)।


1

मेरे मामले में 'कार्यक्षेत्र में आयात परियोजना' के लिए चेकबॉक्स पर क्लिक करने से त्रुटि ठीक हो गई, भले ही परियोजना पहले से ही कार्यक्षेत्र फ़ोल्डर में थी और वास्तव में ग्रहण द्वारा स्थानांतरित नहीं हुई थी।


0

FWIW:

अन्य सुझावों में से किसी ने भी मेरे लिए काम नहीं किया। मैंने पहले उसी नाम से एक प्रोजेक्ट बनाया था जिसे मैंने तब डिलीट कर दिया था। मैंने बेस सोर्स-फाइल्स (PhoneGap का उपयोग करके) को फिर से बनाया - जो कि "ग्रहण" -प्रोजेक्ट नहीं बनाता है। मैंने तब मौजूदा स्रोत फ़ाइलों का उपयोग करके एक एंड्रॉइड प्रोजेक्ट बनाने की कोशिश की, लेकिन यह उसी त्रुटि संदेश के साथ विफल हो गया जैसा कि मूल प्रश्न का तात्पर्य है।

मेरे लिए समाधान स्रोत-फ़ोल्डर और फ़ाइलों को कार्यक्षेत्र से बाहर ले जाने और उसी विकल्प का उपयोग करना था, लेकिन इस बार विज़ार्ड में फ़ाइलों को कार्यक्षेत्र में कॉपी करने के लिए विकल्प की जांच करें।


0

मुझे पता है कि यह पुराना है, लेकिन संभवत: एक और समाधान का योगदान करना चाहता है।

यदि आप परियोजना का स्थान रखना चाहते हैं, जैसा कि मैंने किया था, तो मैंने पाया कि किसी अन्य परियोजना से .project फ़ाइल को प्रोजेक्ट की निर्देशिका में कॉपी करना, फिर .project फ़ाइल को ठीक से नाम देने के लिए संपादन करना, फिर आयात मौजूदा प्रोजेक्ट को कार्यक्षेत्र विकल्प में चुनना काम किया। मेरे लिए।

विंडोज में, मैंने यह देखने के लिए एक फ़ाइल मॉनिटर का उपयोग किया कि ग्रहण क्या कर रहा था, और यह .project फ़ाइल बनाने का प्रयास करते समय किसी अज्ञात कारण के लिए गलत तरीके से निकाल रहा था। इसलिए, मैंने खुद ऐसा किया और यह मेरे लिए काम कर गया।


0

वास्तविक फ़ाइल मेनू पर जाएं और एक नया सामान्य प्रोजेक्ट बनाएं।

यदि प्रोजेक्ट प्रकार को पहचाना नहीं गया है, तो इन आयात विधियों को काम करने से रोकना है, तो यह प्रयास करें। एक बार जब आप जेनेरिक प्रोजेक्ट जोड़ लेते हैं, तो आप जिस भी भाषा की आवश्यकता होती है उसके लिए समर्थन जोड़ सकते हैं।


0

मुझे यह त्रुटि तब हुई जब एक नए क्लोन किए गए गिट रेपो फ़ोल्डर के अंदर एक नया ग्रहण प्रोजेक्ट बनाने की कोशिश की जा रही है।

यह मेरे लिए काम किया:

1) Git रेपो को क्लोन करें (मेरे मामले में यह ग्रहण डिफ़ॉल्ट कार्यक्षेत्र के सबफ़ोल्डर के लिए था)

2) डिफ़ॉल्ट कार्यक्षेत्र में नया ग्रहण प्रोजेक्ट बनाएं (क्लोन गित रेपो फ़ोल्डर के ऊपर एक स्तर)

3) डिफ़ॉल्ट कार्यक्षेत्र से क्लोन किए गए रेपो डायरेक्टरी में नए ग्रहण प्रोजेक्ट का निर्यात करें:

a) right click on project --> Export --> General --> File System
b) select the new Eclipse project
c) set the destination directory to export to (as the Git repo folder)

4) एक्लिप्स प्रोजेक्ट को कार्यक्षेत्र से हटा दें (क्योंकि यह अभी भी डिफ़ॉल्ट कार्यक्षेत्र का उपयोग करने वाला है)

right click on project and select "Delete"

5) Git रेपो डायरेक्टरी के अंदर से एक्सपोर्टेड एक्लिप्स प्रोजेक्ट खोलें

a) File --> Open Project from File System or Archive
b) set the "Import source" folder as the Git repo folder
c) check the project to import (that you just exported there)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.