2009-08-12 22 views
48

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

चूंकि मैं शायद इस पर वापस आऊंगा, मैं नेटबीन प्रोजेक्ट फ़ाइलों को संस्करण नियंत्रण में स्टोर करना चाहता था। हालांकि, मैं उन फाइलों को नहीं करना चाहता जो "मेरा" बनाम "प्रोजेक्ट" बनाते हैं, यानी, मेरी अपनी सेटिंग्स वाली फाइलें जो किसी अन्य उपयोगकर्ता के साथ संघर्ष करती हैं।

NetBeans उच्च-स्तरीय परियोजना क्षेत्र में निम्नलिखित संरचना बनाई:।

nbbuild 
nb-build.xml 
nbproject 
    <various files> 
    configs 
    private 

जाहिर nbbuild उत्पादन का निर्माण, ताकि में नहीं जाना होगा है nb-build.xml फ़ाइल के रूप में nbproject का सबसे करता है, संभावना लगती है। हालांकि, nbproject/private सुझाव देता है कि यह "मेरा" है। "कॉन्फ़िगरेशन" पर देखकर, यह मेरे लिए स्पष्ट नहीं है कि यह मेरा है या प्रोजेक्ट ...

किसी के पास कुछ दिशानिर्देश हैं?

उत्तर

47

NetBeans knowledge base article on project files & version control नेटबीन प्रोजेक्ट फ़ाइलों पर चर्चा करता है, इस बारे में ढीली सलाह के साथ कि कौन सी फाइलें प्रोजेक्ट विशिष्ट हैं (यानी संस्करण नियंत्रण के माध्यम से साझा की जा सकती हैं), और जो उपयोगकर्ता विशिष्ट हैं।

परियोजना एक संस्करण नियंत्रण प्रणाली से बाहर की जाँच की है, तो build (या nbbuild), dist (या nbdist), और nbproject/private फ़ोल्डरों नहीं होना चाहिए:

यहाँ संस्करण नियंत्रण पर अनुभाग है उस संस्करण नियंत्रण प्रणाली में जाँच की।

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

हालांकि nbproject/private को अनदेखा किया जाना चाहिए, nbproject संस्करण नियंत्रण प्रणाली में जांच की जानी चाहिए। nbproject में परियोजना मेटाडेटा है जो अन्य उपयोगकर्ताओं को परियोजना को पहले आयात किए बिना नेटबीन में प्रोजेक्ट खोलने में सक्षम बनाता है।

+4

प्रदान की गई स्याही टूट गई है। यह अनिवार्य रूप से यह जवाब बेकार बनाता है। – Kenneth

+2

https://web.archive.org/web/20090216193025/http://www.netbeans.org/kb/docs/java/import-eclipse.html पर संग्रहीत लिंक की एक प्रति मिली। – Nathan2055

+1

'nbactions.xml' के बारे में क्या? –

2

कोई नहीं।

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

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

+9

स्पष्ट रूप से बिल्ड आउटपुट (जावाडॉक्स समेत) जोड़ने के लिए नहीं जा रहा है। लेकिन मुझे संदेह है कि सबसे अच्छा जवाब "कोई नहीं" है। प्रत्येक डेवलपर को स्थानीय परियोजनाओं को स्थानीय रूप से स्थापित करने की आवश्यकता होगी, जिसमें सरल चीजें शामिल हैं जैसे डीआईआर स्रोत हैं, या जेडीके स्तर के लिए क्या निर्माण करना है। इस तरह की परियोजना सेटअप जानकारी साझा नहीं करना हमें परेशानी के लिए सेट करेगा। उदाहरण के लिए, मैं कोड लिखता हूं जो 1.6 के लिए काम करता है लेकिन 1.5 के लिए हमारे प्रोजेक्ट जहाजों। मैं इसे प्रतिबद्ध करता हूं, और निर्माण को तोड़ देता हूं। –

+0

जब मैं एक्लिप्स के साथ एक प्रोजेक्ट आयात करता हूं, तो मेरे लिए स्रोत निर्देशिकाओं और जेडीके की पहचान करने के लिए यह छोटा है। इसके अलावा, एक बिल्ड स्क्रिप्ट होना चाहिए जो मेरे लिए ऐसा करता है, क्योंकि मैं शायद आईडीई का उपयोग नहीं कर रहा हूं (बल्कि एक टेक्स्ट एडिटर - नोटपैड ++, emacs, vim)। प्रत्येक नौकरी जो मैंने कभी भी उपयोग की है, स्रोत नियंत्रण का उपयोग केवल स्रोत फाइलों और मानव निर्मित जेनरेट दस्तावेज को भंडार में किया है और मैंने कभी भी कोई समस्या नहीं देखी है। –

+5

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

19

यह पता चला है कि थॉमस & पीटरकार्डो एक तरह से सही हैं। NetBeans अनुशंसा करता है कि आप केवल स्रोत कोड और/या दस्तावेज़ीकरण आयात करें। ओह और एनबीप्रोजेक्ट फ़ोल्डर लेकिन * एनबीप्रोजेक्ट/निजी ** फ़ोल्डर्स नहीं।

NetBeans Knowledge Base article on importing Eclipse projects से:

संस्करण नियंत्रण संबंधी

परियोजना एक संस्करण नियंत्रण प्रणाली, निर्माण से चेक आउट कर रहा है (या nbbuild), जिले (या nbdist), और एनबीप्रोजेक्ट/निजी फ़ोल्डरों को उस संस्करण नियंत्रण सिस्टम में चेक नहीं किया जाना चाहिए।

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

हालांकि nbproject/निजी पर ध्यान नहीं दिया जाना चाहिए, nbproject संस्करण नियंत्रण प्रणाली में जाँच की जानी चाहिए । nbproject में परियोजना मेटाडेटा है जो अन्य उपयोगकर्ताओं को प्रोजेक्ट को नेटबीन में खोलने में सक्षम बनाता है बिना प्रोजेक्ट को पहले आयात करें।

+2

यह वही लिंक है जो मैंने ऊपर पोस्ट किया है, नहीं? मुझे लगता है कि * आयात * केवल स्रोत और * परियोजना फ़ाइलों में जांच के बीच एक अंतर है। जैसा कि मैंने इसे पढ़ा है, पूर्व माध्यम नेटबीन्स आईडीई में फाइलें लाने का मतलब है, बाद में फाइलों को संस्करण नियंत्रण में डालने का मतलब है, और इसमें परियोजना सेटअप फाइलें शामिल हैं। मेरा प्रश्न उत्तरार्द्ध के बारे में था। मैं उन फ़ाइलों को साझा करना चाहता हूं जो निर्माण को नियंत्रित करते हैं (मानकीकृत जार स्थान, जेडीके स्तर), लेकिन स्वरूपण वरीयताओं, आईडीई विंडो लेआउट इत्यादि जैसी चीज़ों को नियंत्रित न करें। –

2

Netbeans 6.8, केवल project.xml, configurations.xml और मुख्य makefile ('nbproject' dir की मूल निर्देशिका में अनुकूलन एक, पूर्व/पोस्ट लक्ष्य परिभाषा के साथ) के साथ परीक्षण के रूप में भंडार के माध्यम से वितरित किया जाना चाहिए। नेटबीन्स (Makefile-impl.ml, Makefile-variables.ml, सभी Makefile-$CONF, Package-$CONF.bash) द्वारा उत्पन्न सभी अन्य फ़ाइलें स्वचालित रूप से (पुनः) हो जाएंगी। जाहिर है, 'निजी' डीआईआर को भी अनदेखा किया जाना चाहिए।

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

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