2012-12-19 51 views
23

यह ग्रहण प्लगइन प्रोग्राम की ग्रहण .classpath फ़ाइल है जिसे मैंने डाउनलोड किया है।ग्रहण व्याख्या .classpath फ़ाइल। 'Kind = "con"' और 'exported = "true" का क्या अर्थ है?

मुझे लगता है कि kind="src" और kind="output" बहुत सीधे आगे है, क्योंकि उनका मतलब है कि स्रोत जावा फाइलें और संकलित क्लास फाइलें कहां स्थित हैं।

kind="lib" प्लगइन संदर्भित जार फ़ाइलों को इंगित करता है, लेकिन मेरे पास ऐसा कुछ है जो मुझे यकीन नहीं है।

  • kind="con" का क्या अर्थ है?
  • exported="true" के लिए यह क्या है? मुझे लगता है कि इस प्लगइन का उपयोग करने के लिए, प्लगइन को संदर्भित करने वाली सभी जार फ़ाइलों को निर्यात किया जाना चाहिए, लेकिन उनमें से केवल कुछ ही निर्यात किए जाते हैं।

enter image description here

उत्तर

19

1) kind="con" में, con कंटेनर है, जो एक classpath container के रूप में ग्रहण से व्याख्या की है के लिए खड़ा है। उस लिंक में वर्णित है:

एक classpath कंटेनर एक तरह से परोक्ष रूप से तरह CPE_CONTAINER

दूसरे शब्दों में की एक classpath प्रविष्टि के माध्यम से classpath प्रविष्टियों का एक सेट को संदर्भित करने के प्रदान करता है, यह अन्य classpath का समूह में सक्षम बनाता है किसी भी तरह से प्रविष्टियां और इसे फिर से उपयोग करें (विभिन्न परियोजनाओं के लिए अलग-अलग प्रविष्टियों की क्षमता सहित)।

2) exported: कहें कि आपके पास प्रोजेक्ट B है जो प्रोजेक्ट C पर निर्भर करता है। निर्भरता को exported=true के रूप में परिभाषित किया गया है। फिर, एक और प्रोजेक्ट A जो प्रोजेक्ट B पर निर्भर करता है, में भी A 'क्लासपाथ पर मौजूद होगा।

+0

फिर, मुझे लगता है कि निर्यातित पुस्तकालय केवल रनटाइम उद्देश्यों के लिए हैं। मेरा मतलब है, जब पुस्तकालयों को रनटाइम पर संदर्भित नहीं किया जाता है, तो आपको इसे निर्यात करने की आवश्यकता नहीं होती है। – prosseek

+0

@prosseek अच्छी तरह से, किसी भी 'वर्ग' फ़ाइल की तरह ... हालांकि, यदि आप अपनी 'ए' परियोजना के _code_ में लाइब्रेरी का उपयोग करना चाहते हैं, तो आपको इसे संकलित समय पर भी चाहिए, लेकिन आमतौर पर ऐसा होता है जब सभी प्रोजेक्ट ' ए', 'बी' और 'सी' आपकी सभी हैं और कुछ तीसरी पार्टी नहीं हैं। – yair

+1

@prosseek जब 'बी' एक तृतीय पक्ष है, तो यह आम तौर पर अपनी निर्भरताओं को निर्यात करता है जब निर्भरता को तृतीय पक्ष का उपयोग करने वाले क्लाइंट कोड के क्लासपाथ में उपस्थित होने की गारंटी नहीं दी जाती है। यदि आप उस तीसरे पक्ष के उपयोग को वास्तव में निर्यात करने के लिए विशेष निर्भरता की आवश्यकता नहीं रखते हैं - इसे बाहर रखा जा सकता है। – yair

7
  • तरह = "चोर", classpath containers
  • निर्यात = सच निर्यात निर्भरता संकेत कर रहे हैं जिसका अर्थ है कि एक depedency पर अपनी परियोजना को देखने/के रूप में निर्यात निर्भरता का उपयोग कर सकते है कि किसी भी परियोजना कुंआ।
+0

टूटा लिंक "क्लासपाथ कंटेनर" – chrish

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

  • कोई संबंधित समस्या नहीं^_^