2008-12-17 17 views
31

के पैरामीटर के साथ जावा मुख्य विधि को आमंत्रित करना विकास (और डिबगिंग के लिए) जावा क्लास 'सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] argv) विधि सीधे ग्रहण के अंदर से चलाने के लिए बहुत उपयोगी है (रन के रूप में संदर्भ की विकल्प - सूची)।एक्लिप्स

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

+1

उरी के रूप में, मुझे नहीं लगता कि यह संभव है, लेकिन यह वास्तव में अच्छा होगा। मैं भी रन संवाद भरने में वास्तव में नापसंद करता हूं। –

उत्तर

49

यह उत्तर ग्रहण 3.4 पर आधारित है, लेकिन ग्रहण के पुराने संस्करणों में काम करना चाहिए।

रन के रूप में चुनते समय ..., रन कॉन्फ़िगरेशन में जाएं।

अपने जावा रन कॉन्फ़िगरेशन के तर्क टैब पर, परिवर्तनीय $ {string_prompt} को प्रकट करने के लिए कॉन्फ़िगर करें (आप इसे प्राप्त करने के लिए चर क्लिक कर सकते हैं, या इसे सीधे सेट करने के लिए प्रतिलिपि बना सकते हैं)।

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

2

AFAIK इसके लिए एक्लिप्स में अंतर्निहित तंत्र नहीं है।

निकटतम आप प्राप्त कर सकते हैं एक रैपर बनाने के लिए जो आपको इन मानों के लिए संकेत देता है और (हार्डकोडेड) मुख्य को आमंत्रित करता है। जब तक आप समाप्त प्रक्रियाओं को साफ़ नहीं करते हैं तब तक आप निष्पादन इतिहास प्राप्त करते हैं। इस पर दो भिन्नताएं या तो जुनीट का उपयोग करने के लिए या इंजेक्शन या पैरामीटर का उपयोग करने के लिए हैं ताकि आपका रैपर हमेशा अपने मुख्य के लिए सही वर्ग से जुड़ सके।

1

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

जो विशेषता आप सुझा रहे हैं वह एक ओवरकिल, आईएमओ का थोड़ा सा लगता है।

14

उरी गलत है, सीधे ग्रहण में मुख्य विधि में पैरामीटर जोड़ने का एक तरीका है, हालांकि पैरामीटर बहुत लचीले नहीं होंगे (कुछ गतिशील पैरामीटर की अनुमति है)। यहां आपको यह करने की आवश्यकता है:

  1. अपनी कक्षा को एक बार चलाएं।
  2. Run -> Run configurations...
  3. बाएं सूची से जाएं, Java Application के नीचे या फिल्टर बॉक्स के लिए इसका नाम टाइप करके सूची से अपने वर्ग का चयन करें।
  4. तर्क टैब का चयन करें और Program arguments बॉक्स पर अपने तर्क लिखें। अगर यह स्पष्ट नहीं है, तो वे व्हाइटस्पेस से अलग हो गए हैं, इसलिए "a b c" (उद्धरण के बिना) का अर्थ यह होगा कि आप अपने कार्यक्रम में ए, बी और सी तर्क देंगे।
  5. सिर्फ चरण में की तरह फिर से अपनी कक्षा चलाने 1.

लेकिन मैं JUnit/आवरण वर्ग का उपयोग कर उरी जैसे कहा के बाद से है कि जिस तरह से आप ऐसा करके की तुलना में वास्तविक मानकों से अधिक एक बहुत बेहतर नियंत्रण पाने की सिफारिश करते हैं ।

+0

मुझे लगता है कि थिलो/उरी इस _without_ को चलाने के लिए एक आसान तरीका के बारे में बात कर रहे हैं जिसमें रन डायलॉग बॉक्स में डेलविंग शामिल है - जैसा कि उनके प्रश्न बताते हैं। –

+0

मुझे फ़ाइल नाम तर्क उद्धृत करना पड़ा क्योंकि इसमें इसकी जगह थी। धन्यवाद – danny117

0

एक और विचार:

प्लेस एक गुण में अपने सभी मापदंडों फ़ाइल (एक पैरामीटर = इस फ़ाइल में एक प्रॉपर्टी), तो आपका मुख्य विधि में, इस फाइल (Properties.load(*fileInputStream*) का प्रयोग करके) लोड। तो अगर आप एक तर्क संशोधित करना चाहते हैं, तो आप सिर्फ अपने args.properties फ़ाइल को संपादित, और ऐसा करने के लिए अधिक कदम के बिना अपने आवेदन शुरू करने की आवश्यकता होगी ...

बेशक

, इस विकास प्रयोजनों के लिए ही है, लेकिन कर सकते हैं यदि आपको अक्सर अपने तर्क बदलना है तो वास्तव में सहायक हो ...