2009-08-26 17 views
9

जेआरई में, सूर्य के आंतरिक पैकेज 2 शीर्ष-स्तरीय डोमेन (सूर्य और कॉम) के साथ प्रीफ़िक्स किए गए हैं। उदाहरण के लिए,सूर्य का जावा पैकेज नामकरण सम्मेलन: सूर्य बनाम com.sun

com.sun.security.jgss 
sun.security.jgss 

यह मेरे लिए बहुत यादृच्छिक लगता है जो वे चुनते हैं। मैं उत्सुक हूं कि इसके लिए सूर्य किस नियम का उपयोग करता है।

उत्तर

7

"com.sun" सम्मेलन अधिक बेहतर प्रारूप है क्योंकि यह जावा संकुल नामकरण के लिए स्थापित "नामकरण सम्मेलनों" का पालन करता है।

http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html

आप पैकेज में पहले कुछ शब्दों के रूप में अपने अद्वितीय कंपनी या निजी वेबसाइट URL का उपयोग करने नाम स्थान में विशिष्टता की गारंटी माना जाता कर रहे हैं। जो लोग "सूरज" से शुरू होते हैं, वे शायद बाहरी दुनिया के संपर्क में आने का इरादा नहीं रखते थे।

1

आप compatibility document for Java 5 पर एक नज़र लेने के लिए यदि आप वहाँ अन्य कारणों भी हैं कि ध्यान देंगे:

अपाचे - org.apache कक्षाएं, जो J2SE एपीआई समर्थित नहीं किया गया लेकिन javax द्वारा किया जाता है .xml पैकेज, 5.0 से ** com.sun। ** org.apache.package.internal में स्थानांतरित हो गया है ताकि वे कक्षाओं के अधिक हालिया, डेवलपर-डाउनलोड किए गए संस्करणों से टकराव न करें।
जे 2 एसई रिलीज का हिस्सा होने वाले org.apache कक्षाओं पर निर्भर होने वाले किसी भी एप्लिकेशन को 5.0:
* कार्य को कोड करने के लिए निम्नलिखित में से एक करना चाहिए, इसलिए यह केवल समर्थित इंटरफेस का उपयोग करता है जो JAXP का हिस्सा हैं।
* अपाचे से org.apache.xalan कक्षाएं डाउनलोड करें।

10

प्रश्न का उत्तर नहीं है, लेकिन कृपया ध्यान रखें कि आपको अपने कार्यक्रमों में सीधे 'सूर्य' या 'com.sun' पैकेज का उपयोग नहीं करना चाहिए।

देखें Why Developers Should Not Write Programs That Call 'sun' Packages

उन संकुल मानक जावा पुस्तकालय के सार्वजनिक एपीआई का हिस्सा नहीं हैं, और का उपयोग कर उन्हें अपने कार्यक्रम जावा या अन्य जावा के कार्यान्वयन सूर्य कार्यान्वयन से के भविष्य के संस्करणों के साथ असंगत हो सकता है (और वहाँ एप्पल, आईबीएम और एचपी सहित अन्य विक्रेताओं द्वारा कई कार्यान्वयन हैं)।

+1

मुझे com.sun का उपयोग न करने के बारे में कुछ भी नहीं दिख रहा है। * उस दस्तावेज़ में जिसे आपने लिंक किया था; यह केवल सूरज का उपयोग नहीं करता है। *। पैकेज पदनाम com.sun। * बस इसका मतलब है कि यह अपने स्वयं के सार्वजनिक सॉफ्टवेयर का हिस्सा है कि वे किसी भी अन्य कंपनी की तरह उपलब्ध कराते हैं। – Tom

+1

@Jasper, आप पहले से ही किसी अन्य चर्चा में इस लिंक पोस्ट कर रहे हैं [http://stackoverflow.com/questions/1906673/import-com-sun-image-codec-jpeg/1907060#1907060] लेकिन जुड़ा हुआ दस्तावेज़ बस के बारे में "है सूरज "पैकेज, नहीं" com.sun "वाले। क्या आप लिंक को अपडेट कर सकते हैं यदि आप एक ऐसा प्रदान कर सकते हैं जो वास्तव में "com.sun" पैकेज का उपयोग न करने के लिए कहता है? – danidemi

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