2013-04-02 10 views
12

मेरे पास मेरे ग्रहण में एक रन कॉन्फ़िगरेशन है। मेरी परियोजना में हमारे पास दो शाखाएं हैं: DEV और STABLE। मैं अपनी परियोजना के निर्माण के लिए एक रन कॉन्फ़िगरेशन बनाना चाहता हूं जो भी शाखा है।ग्रहण के साथ जेनेरिक लॉन्च कॉन्फ़िगरेशन कैसे बनाएं?

अब, जब मैं उन दो चर में से एक के साथ Base directory सेट के लिए: ${project_path}, ${build_project}, मैं इस त्रुटि का सामना:

बेस निर्देशिका मौजूद नहीं है या पढ़ा नहीं जा सकता।

यह काम करता है: ${workspace_loc:/my-project-dev-branch} लेकिन किसी विशेष शाखा से जुड़ा हुआ है। मुझे स्थिर शाखा बनाने के लिए इस कॉन्फ़िगरेशन को डुप्लिकेट करना होगा।

  • तो, मैं कैसे ${project_path}, ${build_project} की वास्तविक सामग्री देख सकते हैं?
  • या इस परिणाम को पाने के लिए मुझे किस चर का उपयोग करना चाहिए: ${workspace_loc:/${eclipse_variable_with_project_name}}?

उत्तर

15

मुझे यकीन है कि मैं कैसे अपने शाखाओं कार्यक्षेत्र के भीतर प्रतिनिधित्व कर रहे हैं का पालन नहीं कर रहा हूँ, लेकिन

  • ${project_path} अपने कार्यक्षेत्र के लिए एक रास्ता रिश्तेदार का प्रतिनिधित्व करता है
  • ${build_project} केवल एक वास्तविक निर्माण के दौरान निर्धारित किया जाएगा (नहीं अपने कार्यक्रम का एक निष्पादन)

अपने विवरण के आधार पर के दौरान आप के बजाय ${project_loc} का उपयोग किया जा करना चाहते हैं।

नोटा: प्रोजेक्ट को रन कॉन्फ़िगरेशन लॉन्च करने से पहले परिप्रेक्ष्य प्रोजेक्ट में चुना जाना चाहिए। अन्यथा, आप नीचे स्क्रीनशॉट में की तरह एक संदेश प्राप्त होगा:

picture of Alert box popup with the text 'Launching MY RUN CONFIGURATION' has encountered a problem. Variable references empty selection: ${project_loc}'

+0

शाखाएं अलग-अलग परियोजनाओं में स्थित हैं। मैंने सफलतापूर्वक '$ {project_loc}/$ {build_project} 'की कोशिश की है। – Stephan

+0

मैं समान रन कॉन्फ़िगरेशन के लिए '$ project_loc' का भी उपयोग करता हूं। एक नोटिस के साथ: ऐसी कॉन्फ़िगरेशन केवल तभी शुरू की जा सकती है जब नेविगेटर या पैकेज एक्सप्लोरर दृश्यों में उपयुक्त प्रोजेक्ट का चयन किया जाए। दूसरे शब्दों में: पहला - प्रोजेक्ट का चयन करें, फिर कॉन्फ़िगरेशन चलाएं। – DRCB

+0

@ स्टीफन - केवल '$ project_loc' का उपयोग करें, जो आपको उस संसाधन का पूरा स्थान देगा जिसमें आप संसाधन कर रहे हैं। – Perception

0

सबसे पहले, यदि आप संस्करण नियंत्रण प्रणाली के रूप में प्रयोग कर रहे हैं Git: दो बार परियोजना चेकआउट मत करो, लेकिन सिर्फ एक में शाखाओं के बीच स्विच एकल परियोजना गिट को इसके लिए डिजाइन किया गया था और सेकंड में ऐसा कर सकता है। इस तरह आपकी समस्या पूरी तरह गायब हो जाएगी।

यदि यह कोई विकल्प नहीं है, तो शायद संस्करण नियंत्रण के तहत रन कॉन्फ़िगरेशन डालना एक विकल्प होगा। के रूप में पहली आकर्षण के साथ दिखाया गया साझा फ़ाइल विकल्प सेट करें: enter image description here

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

+0

आप 'बेस निर्देशिका' फ़ील्ड में क्या डालते हैं? – Stephan

2

आप पहले से ही एक String Substitution चर, भागो Debug- के माध्यम से> ग्रहण वरीयताओं में स्ट्रिंग प्रतिस्थापन बना रहे हैं, अलग रास्तों से निपटने के लिए, आप कर सकते थे या तो:

  1. एक चर बनाएँ, जैसेbranch_loc, ${workspace_loc:/my-project-dev-branch}
  2. के मान के साथ यदि पथ केवल थोड़ा अलग हैं, उदा। शाखा नाम से, तो आप एक मान के साथ एक चर branch बना सकते हैं, उदा। dev, और फिर ${workspace_loc}\${branch}

साथ branch_loc बनाने तो फिर तुम Maven आधार निर्देशिका के लिए ${branch_loc} का उपयोग करें।

यह बेहतर होगा कि सभी शाखाएं उसी पथ का उपयोग करें, जो गिट और मर्कुरियल आपको करने की अनुमति देती है। फिर आप अपने मेवेन बेस निर्देशिका के लिए ${project_loc} का उपयोग कर सकते हैं। project_loc के लिए यदि आप अपनी परियोजना का प्रोजेक्ट नाम निर्दिष्ट करते हैं, उदा। ${project_loc:MY_PROJECT_NAME}, तो आपको काम करने के लिए प्रोजेक्ट का चयन करने की आवश्यकता नहीं है।

यदि आप प्रोजेक्ट पर राइट क्लिक करते हैं और फिर प्रॉपर्टी का चयन करते हैं, तो आप देख सकते हैं कि ${project_path} पथ को देखकर और ${project_loc} स्थान को देखकर हल हो जाएगा।

+0

कैसे $ {शाखा} आबादी है? – Stephan

+0

स्ट्रिंग प्रतिस्थापन प्राथमिकताओं के माध्यम से, शाखा के नाम को अपने स्थान से अलग करने के तरीके के रूप में। – WhiteKnight

+0

आप कहां 'branch_loc' चर बनाते हैं? – Stephan

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

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