संपादक में एक मुख्य प्रकार शामिल नहीं है


92

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

यहाँ कोड है: http://www.scala-lang.org/node/45 । इसे एक्लिप्स पर चलाने पर, मुझे यह संदेश मिला 'एडिटर में एक मुख्य प्रकार नहीं होता है' जो इसे चलने से रोकता है।

क्या मुझे कुछ करने की ज़रूरत है ... यानी उस फ़ाइल को कई फ़ाइलों में तोड़ दें, या क्या?

जवाबों:


37

मुझे ग्रहण और स्काला से यह समस्या है। यदि आप अपना कार्यक्षेत्र साफ़ करते हैं और अपने प्रोजेक्ट का पुनर्निर्माण करते हैं तो यह मदद करता है।

कभी-कभी ग्रहण सही ढंग से पहचान नहीं पाता है कि उसे कौन सी फाइलें फिर से मिलानी हैं :(

संपादित करें: कोड ग्रहण में ठीक चलता है


4
एक ही अनुभव किया। इसके अलावा परियोजना को बंद करना और खोलना मेरे लिए कभी-कभी आवश्यक लगता था।
फेबियन स्टिग जूल

थैंक्स @nuriaion और @ फ़ेबियन, हाँ, प्रोजेक्ट को फिर से खोलने से इसे काम मिल गया। आपकी युक्तियों के लिए फिर से धन्यवाद।
हेलेन नीली

3
@ हेलन इन एक्लिप्स => प्रोजेक्ट => स्वच्छ आप परियोजनाओं को साफ कर सकते हैं, पुनर्निर्माण स्वचालित रूप से चलेगा ... इसलिए आपको प्रोजेक्ट को बंद करने और फिर से खोलने की आवश्यकता नहीं है।
नर्सरी

स्काला परियोजना को खोलने और बंद करने से मुझे मिला: निर्माण के दौरान त्रुटियां हुईं। बिल्डर 'ch.epfl.lamp.sdt.core.scalabuilder' को तत्काल बताने में त्रुटि। प्लग-इन "ch.epfl.lamp.sdt.core" वर्ग "scala.tools.eclipse.Builder" को त्वरित करने में असमर्थ था। वर्ग scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder प्लग-इन "ch.epfl.lamp.sdt.core" आरंभ नहीं कर सका, वर्ग "scala.tools.eclipse.Builder" को त्वरित करने में असमर्थ था। वर्ग scala.tools.eclipse.contribution.weaving.jdt.builderoptions.ScalaJavaBuilder को प्रारंभ नहीं कर सका
उस्माना संगत

87

ग्रहण में, सुनिश्चित करें कि आप परियोजना के गुणों में अपना स्रोत फ़ोल्डर जोड़ सकते हैं -> जावा निर्माण पथ -> स्रोत। अन्यथा, मुख्य () फ़ंक्शन आपके प्रोजेक्ट में शामिल नहीं हो सकता है।


ध्यान दें कि यह फ़ोल्डर एक्सप्लोरर दृश्य में फ़ाइलों को "src" में खींचकर और गिराकर भी पूरा किया जा सकता है।
मैक्स वॉन हिप्पेल

इससे मेरी समस्या हल हो गई लेकिन परियोजना को बंद करने और खोलने के बाद।
सैयद

26

आप सुनिश्चित करें कि आपके जावा फ़ाइलों करना है कर रहे हैं .src फ़ोल्डर में ग्रहण। मुझे वही सटीक समस्या थी जब तक मैं समझ नहीं पाया।


26

एक सरल तरीका परियोजना को बंद करना और इसे फिर से खोलना है।


21

बस सुनिश्चित करें कि आपके द्वारा काम किया जाने वाला फ़ोल्डर बिल्ट पथ में जोड़ा गया है:

right-clickआपका फ़ोल्डर -> build Path->Use as source Folder

और यह अब mainउसमें होना चाहिए ।


6

मुझे भी यही समस्या थी। मैंने हर तरह की कोशिश की। और मुझे पता चला कि

  1. मेरी .java फाइलें जुड़ी नहीं थीं और
  2. उन्हें 'src' फ़ोल्डर में नहीं रखा गया था।

चीजें जो मैंने कीं:

परियोजना गुण >> जावा बिल्ड पथ >> स्रोत

  • मूल 'src' फ़ोल्डर हटा दिया गया था जो 'निकालें' विकल्प का उपयोग करके खाली था
  • 'Add Folder' विकल्प का उपयोग करके मेरे स्रोत .java फ़ाइलों को जोड़ने वाले स्रोत को जोड़ा

इससे त्रुटि हल हो गई।


5

आप ग्रहण के रूपरेखा पक्ष पट्टी से मुख्य कार्य को चलाने का प्रयास कर सकते हैं।

उपाय


जब मैं ऐसा करता हूं, तो मुझे एक त्रुटि संदेश मिला <project root> [in Tut_RMI] does not exit:। (परियोजना का नाम है Tut_RMI) क्या यह परियोजना का नाम अमान्य है?
कैस्पर

5
***

बस पास और फिर से खोलना

*** ग्रहण में आपकी परियोजना। शायद ही कभी लिंकेज की समस्या हो। इससे मेरी समस्या हल हो गई


3

एक त्वरित समाधान:

सबसे पहले, पैकेज को बाहर करें: स्रोत पैकेज पर राइट क्लिक करें >> बिल्ड पाथ >> बहिष्कृत करें

फिर इसे वापस शामिल करें: स्रोत पैकेज पर राइट क्लिक करें >> बिल्ड पाथ >> शामिल करें


3

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

यहां छवि विवरण दर्ज करें


2

वह कोड मान्य है। क्या आपने स्केलक का उपयोग करके इसे संकलित करने की कोशिश की है? इसके अलावा, क्या आपने अपनी फ़ाइल "एड्रेसबुक", सभी लोअरकेस, जैसे ऑब्जेक्ट का नाम कहा है?

इसके अलावा, मैंने पाया कि ग्रहण, किसी कारण से, मुख्य कक्षा को "एड्रेसबुक" के बजाय ".addressbook" के रूप में सेट करें।


धन्यवाद डैनियल, हां फाइल का नाम 'एड्रेसबुक' है। यह देखने में मदद करेगा कि क्या परियोजना को फिर से खोलने की कोशिश की जाएगी।
हेलेन नेली

2

आपको अपनी फ़ाइल बनानी चाहिए

दाईं ओर का चयन करने पर आपको अपना फ़ाइल नाम मिलेगा,

इसके तहत src फोल्डर मिलेगा, जिसमें आप राइट क्लिक सेलेक्ट करें -> क्लास ऑप्शन

उनकी आपकी फ़ाइल बनाई जानी चाहिए


2

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


2

इसी तरह की समस्या का सामना कर चुके हैं, इसे आउटलाइन व्यू में मुख्य विधि पर राइट क्लिक करके हल किया गया है और जावा एप्लिकेशन के रूप में चलाया जाता है।


1

मुझे भी बस यही समस्या थी। समाधान यह सुनिश्चित करने के लिए है कि परियोजना जावा परियोजना के रूप में बनाई गई है। बस एक नया जावा प्रोजेक्ट बनाएं और अपनी कक्षा को src फ़ोल्डर में कॉपी करें (और अंतिम निर्भरता आयात करें)। इससे समस्या हल हो जानी चाहिए।


धन्यवाद कुल्लडॉक्स, आपकी टिप्पणी के लिए। मैं लंबे समय से इस मुद्दे को हल कर रहा हूं, लेकिन आशा है कि कोई और समाधान यहां उपयोगी है।
हेलेन नेली

1

सही उत्तर है: स्काला लाइब्रेरी को बिल्डपथ में JRE लाइब्रेरी से पहले की आवश्यकता है।

पर जाएं जावा Buildpath> आदेश और निर्यात और शीर्ष करने के लिए स्काला पुस्तकालय के लिए कदम


1

मुझे एक जावा परियोजना के साथ यह समस्या थी जो मैंने फ़ाइल सिस्टम (एक्लिप्स हेलिओस के तहत) से आयात की थी। यहाँ एक संकेत है: src कोड बिल्कुल भी संकलित नहीं लगता, क्योंकि कोई "बिन" निर्देशिका नहीं दिखाई गई।

मुझे स्क्रैच (विज़ार्ड का उपयोग करके) से एक जावा प्रोजेक्ट बनाना था, फिर .projectगैर-कामकाजी और काम करने वाली परियोजनाओं की फ़ाइलों की तुलना करें ।

"संपादक के पास मुख्य प्रकार नहीं है" परियोजना में .project फ़ाइल में "buildSpec" के रूप में यह था:

<buildSpec>
</buildSpec>

लेकिन वर्किंग प्रोजेक्ट ने इसे "बिल्डस्पीक" कहा:

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>

मैंने इसे कॉपी किया, और आयातित प्रोजेक्ट ने काम किया।

मुझे पता है कि मेरा जवाब जावा के लिए है, लेकिन आपके स्काला प्रोजेक्ट के लिए भी यही मुद्दा हो सकता है।


1

आपके द्वारा बनाई गई फ़ाइल src (स्रोत) फ़ोल्डर के बाहर हो सकती है। स्रोत फ़ोल्डर के बाहर .java फ़ाइल से वर्ग ऑब्जेक्ट (src फ़ोल्डर में स्थित फ़ाइल से) को कॉल करने का प्रयास करने से समान त्रुटि होती है। स्रोत फ़ोल्डर में .java फ़ाइल की प्रतिलिपि बनाएँ, फिर उसे बनाएँ। त्रुटि दूर हो जाएगी।


1

मुझे भी यही समस्या थी। मेरे पास src पैकेज से बाहर, अन्य फ़ोल्डर में मुख्य वर्ग था। मैं इसे और सही फ़ोल्डर में ले जाता हूं और हल करता हूं


1

कमांड लाइन से "एक्लिप्स -क्लाइन -फ्रेश" चलाएं। यह मेरे लिए समस्या तब तय हुई जब अन्य सभी समाधान विफल हो गए।


1

यह जावा बिल्ड पथ के साथ समस्या हो सकती है। नीचे दिए गए चरणों का प्रयास करें:

  1. प्रोजेक्ट प्रॉपर्टीज पर जाएं
  2. जावा बिल्ड पाथ पर जाएं
  3. स्रोत टैब पर जाएं और प्रोजेक्ट का src फ़ोल्डर जोड़ें

इस मुद्दे को हल करना चाहिए।


1

अगर यह maven प्रोजेक्ट है तो कृपया चेक करें जावा फ़ाइल src / main / java के तहत बनाई गई है

यदि आप कृपया JRE पथ को नहीं बदल रहे हैं और उपर्युक्त फ़ोल्डर संरचना में जावा फाइल बनाएँ


0

मेरे लिए, ग्रहण 3.6 में, यह समस्या तब होती है जब मेरी मुख्य विधि सार्वजनिक नहीं होती है। मैंने इस तरह से एक मुख्य विधि होने से समस्या का कारण बना:

static void main(String[] args) 

डबगर खुद से इसका पता लगाने में असमर्थ था। मैं बहुत हैरान हूं कि ग्रहण ने इसे नजरअंदाज कर दिया।


0

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


0

नीचे दिए गए चरणों का पालन करें:

  1. अपने सभी .java फ़ाइलों को किसी अन्य स्थान पर बैकअप करें
  2. पूरे जावा प्रोजेक्ट को हटाएं
  3. रूट पर राइट क्लिक करके नया जावा प्रोजेक्ट बनाएं और नया क्लिक करें
  4. सभी फ़ाइलों को नए स्थान पर पुनर्स्थापित करें !!

0

फ़ाइल >> आयात >> कार्यक्षेत्र में मौजूदा परियोजनाएँ >> पुरालेख का चयन करें >> ब्राउज़ करें और फ़ाइल का पता लगाएं >> समाप्त करें। अगर इसका पहले से ही कोई दूसरा तरीका इम्पोर्ट किया गया है तो इसे डिलीट कर दें और इसे इस तरह आजमाएँ। मैं एक ही समस्या थी जब तक कि मैंने कोशिश की।


0

जाँच करने के लिए एक और बात: सुनिश्चित करें कि आपकी स्रोत फ़ाइल में मौजूद उपनिर्देशिका के अनुरूप सही पैकेज घोषणा है। ओपी द्वारा उल्लिखित त्रुटि को एक उपनिर्देशिका में फ़ाइल में घोषित "मुख्य प्रकार" को चलाने की कोशिश करते समय देखा जा सकता है लेकिन पैकेज विवरण याद आ रहा है।


0

स्रोत फ़ोल्डर बदलने के बाद भी मुझे यह समस्या है। जिस समाधान के लिए काम किया गया है, वह केवल फ़ाइल को संपादित कर रहा है और उसे सहेज रहा है।


0

'अद्यतन परियोजना' का प्रयास करें। एक बार मैंने ऐसा किया, जावा एप्लिकेशन विकल्प के रूप में रन दिखाई दिया।


0

मेरे विशेष 'हैलो वर्ल्ड' केस में इस समस्या का कारण यह तथ्य था, कि मेरा main()तरीका स्काला के अंदर था class

मैंने main()पद्धति को स्केल के तहत रखा objectऔर त्रुटि गायब हो गई।

ऐसा इसलिए है क्योंकि objectजावा शब्दों में स्काला केवल स्थिर सदस्यों और अंदर की विधियों वाली इकाई है।

यही कारण है कि public static void main()स्काला में जावा के तहत रखा जाना चाहिए object

(स्काला classमें स्थैतिक के अंदर नहीं हो सकता है)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.