2012-03-01 14 views
42

मैं जानना चाहता हूं कि जावा ईई विकास के लिए ग्रहण आईडीई में उपयोग किए गए फ़ोल्डर-संरचना और पैकेज के बीच क्या अंतर है।जावा पैकेज बनाम फ़ोल्डर-संरचना? अंतर क्या है

हम किस का उपयोग करते हैं और क्यों?

क्या अभ्यास

  • src/कॉम/utils की तरह एक फ़ोल्डर संरचना बनाने और उसके बाद अंदर यह
  • src.com.util की तरह एक पैकेज बनाने के एक वर्ग बनाने और उसके बाद एक क्लास के भीतर बनाने होना चाहिए यह

अगर मुझे तैनाती के लिए बाद में एक चींटी स्क्रिप्ट लिखनी है तो कौन सा विकल्प तैनात करना आसान और आसान होगा?

यदि मैं फ़ोल्डर-संरचना के लिए जाता हूं तो तैनाती फ़ाइलों को विकास से तैनाती लक्ष्य में कॉपी करने के रूप में तैनाती आसान होगी?

उत्तर

27

यदि आपने सामान को सही तरीके से कॉन्फ़िगर किया है। src के अंदर एक फ़ोल्डर जोड़ना, File > New Package से एक पैकेज जोड़ने के समान है।

तो, यह आपके ऊपर है, जो भी आपको सहज महसूस करता है - फ़ोल्डर जोड़ें या पैकेज बनाएं। साथ ही, जब आप src के तहत सामान डालते हैं तो पैकेज का नाम सबफ़ोल्डर से शुरू होता है। तो, src/com/naishe/test पैकेज com.naishe.test होगा।

+6

हे कोई पागल हो गया और प्रत्येक उत्तर -1-आया! – Nishant

+0

यह कौन था? क्या वोट पूर्ववत किए गए थे? – Pacerier

3

'src.com.util'

कि एक गलती की तरह लगता है की तरह एक पैकेज बनाने के। पैकेज का नाम 'com.util' होना चाहिए, और 'src' स्रोत फ़ोल्डर का नाम होना चाहिए।

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

आपको खाली पैकेज बनाने की आवश्यकता नहीं है, आप सीधे कक्षाएं बना सकते हैं (पैकेज स्वचालित रूप से बनाया जाएगा यदि यह पहले से मौजूद नहीं है)।

10

असल में कोई अंतर नहीं है, दोनों समान हैं।

दोनों मामलों में, फ़ोल्डर संरचना src/com/utils होगी।

और दोनों ही मामलों में, आप चूंकि यह कोई फर्क व्यावहारिक रूप से नहीं है

package com.utils; 

class

में पहली पंक्ति के रूप का उल्लेख करने की आवश्यकता होगी, यह करने के लिए कोई फर्क नहीं होगा ant script

8

"पैकेजिंग हमें क्लास नाम टकराव से बचने में मदद करती है जब हम समान वर्ग नाम का उपयोग दूसरों के रूप में करते हैं। उदाहरण के लिए, यदि हमारे पास" वेक्टर "नामक एक क्लास नाम है, तो इसका नाम जेडीके से वेक्टर क्लास के साथ दुर्घटनाग्रस्त हो जाएगा। हालांकि, ऐसा कभी नहीं होता क्योंकि जेडीके वेक्टर वर्ग (java.util.Vector) के लिए पैकेज नाम के रूप में java.util का उपयोग करता है। इसलिए हमारे वेक्टर वर्ग को "वेक्टर" के रूप में नामित किया जा सकता है या हम इसे com.mycompany जैसे अन्य पैकेज में डाल सकते हैं किसी के साथ लड़ने के बिना वेक्टर।पैकेज का उपयोग करने के लाभ रखरखाव, संगठन, और डेवलपर्स के बीच सहयोग बढ़ाने में आसानी को दर्शाते हैं। पैकेज की अवधारणा को समझना भी हमारे प्रबंधन और अधिक कुशल तरीके में जार फ़ाइलों में संग्रहीत फ़ाइलों का उपयोग करने में मदद मिलेगी। "

बाहर http://www.jarticles.com/package/package_eng.html संकुल

+0

दुर्भाग्य से यह उचित नहीं है कि मुझे 'com/mycompany/project' क्यों बनाना है/पैकेज/नाम/यहां 'उप-निर्देशिकाएं मेरे फाइल सिस्टम में। टाइपिंग को बचाने और 'MAX_PATH' को मारने से बचने के लिए' com/mycompany/project/package/name' निर्देशिकाओं को सहारा देने का कोई विकल्प नहीं है? – Dai

1

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

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