2012-04-10 8 views
22

में एक अलग जावा प्रोजेक्ट का संदर्भ कैसे लें मेरे पास Project1 और Project2 है। प्रोजेक्ट 1 प्रोजेक्ट 2 पर निर्भर है। मैं थक गया हूं कि जब भी मैं प्रोजेक्ट 2 में कुछ कोड बदलता हूं, मुझे प्रोजेक्ट 2 जेएआर फ़ाइल निर्यात करना होगा, और इसे प्रोजेक्ट 1 के lib फ़ोल्डर में कॉपी करना होगा।ग्रहण

क्या यह स्वचालित रूप से प्राप्त करने का कोई तरीका है? या, प्रोजेक्ट 2 को कुछ बदलाव करने के लिए प्रोजेक्ट 1 को जानने का कोई और तरीका है?

प्रोजेक्ट के बिल्ड पथ में, वर्कस्पेस में अन्य परियोजनाओं के संदर्भ निर्दिष्ट करने का एक तरीका है, लेकिन ऐसा कुछ नहीं लगता है? वास्तव में यह क्या करता है?

मैं कहीं पढ़ रहा था कि मैं इस प्रक्रिया को स्वचालित करने के लिए परिनियोजन गुणों का उपयोग कर सकता हूं, लेकिन मुझे यह नहीं मिल रहा है।

अद्यतन: उह, मैं सी # डेवलपर हूँ और जावा विकास (ज्यादातर Android विकास), मैं बेवकूफ सवाल पूछ सकते हैं, तो मेरे साथ सहन कृपया में कुछ अनुभव है ...

Project1 है मानक जावा परियोजना (ग्राहक की मशीन पर चलाएं, स्विंग का उपयोग करें, आदि ..)। प्रोजेक्ट 2 गतिशील वेब प्रोजेक्ट है (मेरे लिए अज्ञात कारण है)। केवल एक चीज यह है कि webservice को कॉल कर रहा है (तीसरी परियोजना मुझे चिंता करने की आवश्यकता नहीं है) और परिणाम 1 को वापस प्रोजेक्ट में पास कर रहा है। प्रोजेक्ट 2 में उन एक्सिस 2 webserviceStub.java फ़ाइलें शामिल हैं ... हर जानती है और फिर, मुझे इन स्टब फाइलों को फिर से बनाना होगा, फिर मुझे JAR फ़ाइल निर्यात करना होगा और इसे Project1 पर ले जाना होगा। प्रोजेक्ट 2, भले ही यह वेब प्रोजेक्ट है, यह वास्तव में कोड है जो क्लाइंट पर चलता है।

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

धन्यवाद

+2

"वर्कस्पेस में अन्य परियोजनाओं के संदर्भ" को काम करना चाहिए। – kosa

+0

आप प्रोजेक्ट प्रॉपर्टीज में भी जा सकते हैं और "लाइब्रेरी" चेक कर सकते हैं और फिर इसे प्रोजेक्ट 1 में किसी अन्य बाहरी लाइब्रेरी की तरह संदर्भित कर सकते हैं। – Chris

+0

हाँ, बिल्ड पथ में इसे करने के लिए मेरे लिए काम करता है। आप शायद एक कदम लापता हो। – adarshr

उत्तर

34

सही पर Project1, तो गुण पर क्लिक करें पर क्लिक करें। आने वाले संवाद में, जावा बिल्ड पथ का चयन करें, और उसके बाद प्रोजेक्ट टैब पर क्लिक करें। वहां, बिल्ड पथ में प्रोजेक्ट 2 जोड़ें।

Project1 एक वेब अनुप्रयोग है, तो आप सुनिश्चित करें कि आपके तैनाती विधानसभा (समान गुण यूआई) बनाने के लिए Project2 वहाँ भी है की जरूरत है।

+0

कृपया मेरा अपडेट देखें ... – bobetko

+1

स्टब फाइलें उत्पन्न करने के बाद दोनों परियोजनाओं को रीफ्रेश करने का प्रयास करें (राइट क्लिक -> रीफ्रेश करें), और देखें कि क्या इससे मदद मिलती है। साथ ही, अगर स्टब्स प्रोजेक्ट 2 में कुछ अलग स्रोत निर्देशिका (मुख्य स्रोत डीआईआर से) में हैं, तो सुनिश्चित करें कि डीआईआर को प्रोजेक्ट 2 के लिए "जावा बिल्ड पथ" के "ऑर्डर एंड एक्सपोर्ट" टैब में भी निर्यात किया गया है। – kozyr

+0

धन्यवाद। ताज़ा किया चाल है। अब, सवाल यह है कि ... जब मैं क्लाइंट को प्रोजेक्ट 1 को तैनात करने जा रहा हूं, तो क्या मुझे प्रोजेक्ट 2 की जेएआर फाइल को शामिल करना होगा? मूल प्रोग्रामर परियोजना संदर्भ बनाने के लिए जेएआर फाइलों की प्रतिलिपि बनाने का विकल्प क्यों चुनता है? – bobetko

4

ग्रहण में, जब जावा प्रोजेक्ट बनाया जाता है, स्रोत फ़ोल्डर्स से प्रत्येक .java फ़ाइल संकलित की जाती है और .class फ़ाइल आउटपुट फ़ोल्डर में सहेजी जाती है। स्रोत फ़ोल्डर से गैर-जावा फ़ाइलों को आउटपुट फ़ोल्डर में संबंधित फ़ोल्डर पदानुक्रम में अपरिवर्तित प्रतिलिपि बनाई गई है।

जब जावा पथ बिल्ड, यानी Project2Project1 करने के निर्माण पथ, जोड़ने के माध्यम से "संदर्भित परियोजनाओं" जोड़कर ग्रहण में एक कार्यक्षेत्र के भीतर क्या आप वास्तव में क्या कर रहे हैं के उत्पादन फ़ोल्डर का उपयोग करने के लिए परियोजना बिल्डर कह रहा है Project2 जब Project1 बनाते हैं (नोट: न केवल आउटपुट फ़ोल्डर, बल्कि पुस्तकालयों को भी निर्यात किया जाता है)।

तो अगर का जवाब kozyr आपके लिए काम नहीं करता है, तो Project2 के "आउटपुट फ़ोल्डर" कॉन्फ़िगरेशन की जांच करें।

+0

धन्यवाद। बहुत उपयोगी जानकारी। – bobetko