2009-07-22 10 views
13

मैं प्रोजेक्ट या वर्कस्पेस के भीतर निहित वर्गों के डेटाबेस को पुनर्निर्माण कैसे कर सकता हूं? यह "संदर्भ" मेनू क्रिया कार्य करने के लिए उपयोग करता है, यह "आयात जोड़ें" संवाद आदि के लिए क्या उपयोग करता है। असल में, यह ग्रहण की मूल उपयोगिता का हिस्सा है। और अब, यह केवल मेरी परियोजना के 5% के लिए काम कर रहा है।एक्लिप्स जावा संदर्भ डेटाबेस भ्रष्टाचार को ठीक करें?

मैंने इस समस्या को कई बार चलाया है: ग्रहण के साथ कुछ होता है, या तो आउटऑफमेमरी त्रुटि के माध्यम से क्योंकि मैंने कुछ बड़ी फ़ाइल खोली है, या क्योंकि वर्कस्पेस में केवल महीनों का कड़ी उपयोग है।

अभी, मैं Win32 पर एक्लिप्स गैलीलियो का उपयोग कर रहा हूं। हालांकि, मुझे यह समस्या मैकोज़ के साथ-साथ यूरोपा और गैनीमेड के साथ भी मिली है।

अतीत में, मैंने अपना वर्कस्पेस ट्रैश कर दिया है और फिर से शुरू किया है, लेकिन आज यह एक विकल्प नहीं है। मेरा आखिरी वर्कस्पेस बैकअप पिछले शुक्रवार से है, लेकिन इसका मतलब अभी भी बहाली में काम के घंटों का है। निश्चित रूप से एक और विकल्प होना चाहिए?

संपादित करें: मैंने ग्रहण-चक्र के साथ-साथ अपनी परियोजना का पुनर्निर्माण भी किया है। यह ग्रहण में कहीं भ्रष्टाचार की समस्या है, न कि मेरी परियोजना में।

उत्तर

2

यह काम किया:

  • निर्यात वरीयताओं अपने वर्तमान कार्यक्षेत्र से (फ़ाइल> निर्यात> जनरल> प्राथमिकताएं) वर्तमान कार्यक्षेत्र
  • में एक नया कार्यक्षेत्र को
  • स्विच कार्यस्थानों
  • आयात वरीयताओं
  • अपनी पुरानी प्रोजेक्ट को नए वर्कस्पेस (फ़ाइल-> आयात-> सामान्य-> कार्यक्षेत्र में मौजूदा परियोजनाओं) में आयात करें, "प्रोजेक्ट कॉपी करें" चुनकर

वह संदर्भ डीबी तय करने के लिए काम करता है। एसवीएन (और संभवतः सीवीएस) को फिर से काम करने के लिए:

  • प्रोजेक्ट पर राइट क्लिक करें, टीम चुनें, "प्रोजेक्ट साझा करें" चुनें। आप जिस भी प्रकार के वर्जनिंग रिपोजिटरी का उपयोग कर रहे थे उसे चुनें और अगला क्लिक करें। ग्रहण को यह महसूस करना चाहिए कि आपकी परियोजना पहले से ही इसके लिए कॉन्फ़िगर की गई थी और बस आपको समाप्त क्लिक करें।
  • अपने स्रोतों को भंडार के साथ अपडेट करें।
+0

अच्छी प्रक्रिया। प्रतिक्रिया के लिए धन्यवाद। +1 – VonC

0

मैं प्रोजेक्ट पर प्रोजेक्ट> क्लीन ... चलाने का सुझाव दूंगा। इस परियोजना के प्रतिस्पर्धी पुनर्मिलन का कारण बनना चाहिए।

+0

दुर्भाग्य से ऐसा कोई प्रभाव नहीं पड़ता है :( – lucasmo

0

आप अपनी परियोजना को हटाने की कोशिश कर सकते हैं (पाठ्यक्रम के स्रोतों को हटाए बिना, केवल इसके साथ जुड़े मेटाडेटा)।

तो फिर तुम फिर से आयात अपने कार्यक्षेत्र में अपनी परियोजना (.classpath के बाद से और .project अभी भी अपने हार्ड ड्राइव पर हैं) इस तरह, सभी कार्यक्षेत्र प्रभावित नहीं है

, केवल एक भाग के विषय में वर्तमान परियोजना।

+0

परियोजना एसवीएन (विवर्तन प्लगइन का उपयोग करके) के माध्यम से जांच की जाती है, इसलिए मेटाडाटा को हटाकर ग्रहण 'भूल जाता है' यह एक उपवर्तन भंडार से था। यही वह है जो मैं कोशिश कर रहा हूं इससे बचने के लिए, क्योंकि चेकआउट प्रक्रिया में लगभग दो घंटे लगते हैं। अगर सभी गैर-एसवीएन मेटाडेटा को हटाने का कोई तरीका है, तो मैं इसके लिए तैयार रहूंगा। – lucasmo

0

क) छोड़ने ग्रहण

ख) (कमांडलाइन साथ जैसे)

#starting from current folder (".") search for folders 
# ("-type d") with name (-iname) "target" or "bin" 
# feed this to xargs which calls 
# rm -rf (remove recursive "-r" and force "-f") 
# with the results from find 

find . -iname "target" -type d | xargs rm -rf 

या

find . -iname "bin" -type d | xargs rm -rf 

ग) सभी अपनी परियोजना bin/लक्ष्य फ़ोल्डर भी निकाल ग्रहण पुनः आरंभ

आम तौर पर वर्कस्पेस से किसी भी प्रोजेक्ट को हटाने या क्लासपाथ या .setti को हटाने के लिए आपको नैतिक नहीं है एनजी!

घ) स्वच्छ सभी परियोजनाओं

1

जब ऐसा होता है मैं आमतौर पर, कार्यक्षेत्र से परियोजनाओं को हटाना होगा कमांड लाइन और rm- आरएफ .settings .profile .classpath पर जाएं और फिर परियोजनाओं में वापस फिर आयात। कभी-कभी मुझे मेटाडेटा निर्देशिका को हटाना है (जिसका अर्थ है कि मुझे अपने कुछ प्लगइन को पुनर्स्थापित करना होगा)। मुझे अभी तक इसके लिए एक वास्तविक फिक्स नहीं मिला है। परियोजना की सफाई करने में मदद करने के लिए कुछ भी नहीं है।

यदि आप बस .settings.profile और .classpath को हटाते हैं तो आपको "बहाली के घंटे" काम नहीं करना चाहिए। कार्यक्षेत्र से उन्हें हटाने के बाद आपको परियोजनाओं को फिर से आयात करने की आवश्यकता है। एक परेशानी होने पर, इसे 5 से 10 मिनट से अधिक नहीं लेना चाहिए।

34

पहला निकास ग्रहण। अपनी वर्कस्पेस निर्देशिका में अगला, .metadata/.plugins/org.eclipse.jdt.core/ निर्देशिका हटाएं। अगली बार जब आप एक्लिप्स को लॉन्च करेंगे, तो यह इसके सभी आंतरिक इंडेक्स का पुनर्निर्माण करेगा। अक्सर परियोजनाओं की सफाई उस मेटाडेटा को पुनर्निर्मित करने के लिए मजबूर नहीं करती है।

+0

अच्छा बिंदु, मेरे पास था उस निर्देशिका के बारे में भूल गए। +1 – VonC

+1

कोप्लर को दो बार पुनरारंभ करना पड़ा। – Basilevs

+1

[ग्रहण बग 10874 9] (https://bugs.eclipse.org/bugs/show_bug.cgi?id=108749) इस प्रश्न को 4 वर्षों तक पूर्ववत करता है और दिखाता है कि यह जवाब सबसे अच्छा कामकाज है। मुझे समझ में नहीं आता क्यों परियोजना-> स्वच्छ ** सूचक ** साफ नहीं है। – willkil

7

यदि यह सिर्फ एक परियोजना स्तर पर है, तो मुझे याद है कि आप बस परियोजना को बंद कर सकते हैं (यानी प्रोजेक्ट -> बंद परियोजना), फिर इसे फिर से खोलें (प्रोजेक्ट -> ओपन प्रोजेक्ट)। आपको ग्रहण को पुनरारंभ करने की भी आवश्यकता नहीं है।

+1

यह लगभग आधा समय काम करता प्रतीत होता है। धन्यवाद, यह एक वास्तविक टाइमवेवर है जब यह काम करता है। – lucasmo

0

मेरे लिए यह एक फ़िल्टर था ... विंडोज ग्रहण पर सीटीआरएल + जी दबाकर लूना 'संभावित मिलान' वास्तव में समस्या को दूर कर दिया गया।

एक स्पष्ट() विधि की खोज के रूप में विभिन्न परिणामों के सभी प्रकार वापस आ जाएंगे।

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