13

मुझे आश्चर्य है कि Apache Commons Collections प्रोजेक्ट अभी भी अपनी लाइब्रेरी जेनेरिक-जागरूक बनाने के लिए नहीं मिला है। मुझे वास्तव में इस पुस्तकालय द्वारा प्रदान की गई सुविधाओं को पसंद है, लेकिन जेनेरिक के लिए समर्थन की कमी एक बड़ी बारी है। एक Lavalabs fork of Commons Collections which does support generics है, जो पिछड़ा संगतता का दावा करता है, लेकिन जब मैंने इस संस्करण को अपडेट करने का प्रयास किया, तो मेरा वेब एप्लिकेशन शुरू करने में विफल रहा (जेबॉस में)।जेनेरिक कॉमन्स संग्रह

मेरे प्रश्न हैं:

  • किसी को भी सफलतापूर्वक कांटा ऊपर
  • उल्लेख करने के लिए कॉमन्स संग्रह से अपडेट किया गया है या नहीं कॉमन्स संग्रह जेनरिक के लिए समर्थन जोड़ने के लिए कोई योजना है, तो

Btw, मैं मुझे Google संग्रह के बारे में पता है, लेकिन एपीआई स्थिर होने तक इसका उपयोग करने में अनिच्छुक हूं।

चीयर्स, डॉन

उत्तर

8

योगदान हैं। jira के

पर JDK5 branch भी चेकआउट करें।

हम जेनिक्स जोड़ना चाहते हैं और कॉमन्स संग्रह 1.5 (और 1.6) को अपडेट करना चाहते हैं। सबसे बड़ी समस्या यह है कि पीछे की संगतता को कैसे हल किया जाए। और लोगों के पास बहुत अलग राय हैं। कुछ कॉमन्स घटकों के लिए नया जेडीके लगभग नए जेडीके आईएमएचओ के लिए एक पुनर्लेखन के लिए पूछता है।

अपाचेकॉन के दौरान मुझे यह चलने के लिए कई लोगों के लिए आग्रह महसूस हुआ। यह सिर्फ एक बड़ा काम है।

चियर्स, टॉरस्टेन

+0

धन्यवाद टोरस्टन। मैं इसे मेलिंग सूची पर लाने के लिए थोड़ा सा हूं क्योंकि मुझे उम्मीद है कि इसकी एक लाख बार चर्चा हो चुकी है। मैं जेडीके 5 शाखा –

+0

देखेंगे प्रश्न: आप जानते हैं कि जेडीके 1.4 अब सूरज द्वारा समर्थित नहीं है? –

+0

बस इसे लाओ। हमें दबाव की आवश्यकता है :) – tcurdt

6

यह देखते हुए कि जकार्ता के अपने internaldebate में अंतिम शब्द दिसंबर 07 में था, मैं कहूँगा कि अपाचे जेनरिक गले नहीं होगा, क्षेत्र कुछ Java5 अनुकूल तरह Google Collections के लिए खुला छोड़।

0

मैं कल्पना नहीं कर सकते कि क्या कारण है कि आप गूगल संग्रह का उपयोग नहीं करने के लिए हो सकता है [email protected] पर दिखाने के लिए स्वतंत्र महसूस। पुस्तकालय का उपयोग करना काफी आसान है।

मेरे काम के लिए मैं अपाचे संग्रह और Google संग्रह दोनों का उपयोग करता हूं।

क्या आप Google संग्रह का उपयोग क्यों नहीं कर सकते हैं इसके बारे में और बता सकते हैं?

संबंध

+2

एक कारण यह है कि मेरे एप्लिकेशन में पहले से ही कॉमन्स संग्रह शामिल हैं (उदा। अन्य अपाचे लाइब्रेरी की एक ट्रांजिटिव निर्भरता के रूप में)। यदि यह संभव था, तो मैं कॉमन्स संग्रह के जेनेरिक संस्करण में अपग्रेड करना पसंद करूंगा जो एक और निर्भरता पेश करे। –

9

Google Collections पर विचार करें। उनके Javalobby interview से:

[गूगल संग्रह है] जावा 5 सुविधाओं के साथ बनाया गया: जेनरिक, enums, covariant वापसी प्रकार, आदि जब जावा 5 कोड लिखने, आप एक संग्रह पुस्तकालय उस भाषा का पूरा फायदा ले जाता है चाहता हूँ। इसके अलावा, हमने लाइब्रेरी को जेडीके संग्रह कक्षाओं के साथ पूर्ण, मजबूत और सुसंगत बनाने में भारी प्रयास किए।

+0

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

+1

Google संग्रह अब बनाए रखा नहीं गया है और अब [गुवा] का हिस्सा है (http://guava-libraries.googlecode.com/) – herman

1

मैं कहता हूं, बुलेट काटने और कम से कम नए कोड के लिए Google संग्रह में स्विच करें।

मुझे पता है कि आप स्थिरता के बारे में चिंतित हैं, लेकिन Google संग्रह पुस्तकालय 1.0 रिलीज के लिए स्थिर होने के बहुत करीब है - देव सूची पर लटका है या उनके रिपोर्ट किए गए मुद्दों को देखते हैं, वे पहले से ही बदलावों के बारे में बहुत सावधान हैं, विशेष रूप से तोड़ने वाले। वर्तमान रिलीज और (प्रतीत होता है कि आसन्न) 1.0 फाइनल के बीच कोई भी असंगतता बहुत छोटी होगी।

इसके अलावा, यदि आप स्थिरता के बारे में चिंतित हैं, तो एक संस्करण चुनें (उदा। वर्तमान एक, 1.0 आरसी 4), और ... बस अपग्रेड न करें। निश्चित रूप से, आपको कोई नई सुविधाएं नहीं मिलेंगी, लेकिन कॉमन्स-संग्रह को कई वर्ष में सार्थक तरीके से अपडेट नहीं किया गया है, तो क्या आप वाकई किसी भी बदतर हैं? कम से कम आप जेनेरिक और (आईएमएचओ) के साथ कुछ बेहतर एपीआई पर जमे हुए हैं।

0

कॉमन्स संग्रह 3.1 available here का एक सामान्य बंदरगाह है, जिसे हम कुछ वर्षों से उपयोग कर रहे हैं। क्या नौकरी अच्छी तरह से होती है, और चूंकि यह मौजूदा कॉमन्स स्रोत पर सख्ती से आधारित है, इसकी स्थिर API है।

हालांकि यह कॉमन्स संग्रह 3.2 के अनुरूप अद्यतन करने का उपयोग कर सकता है।

0

संग्रह ब्लॉग पर एक पढ़ा है, यह संग्रह ढांचे की पूरी समझ प्रदान करता है। http://tech.konnectingtheworld.com/2010/09/a-note-on-java-collections/

यदि आपको लगता है कि आपसे प्रश्न का उत्तर नहीं दिया गया है, तो मेरे संपर्क में रहें। मैं आपको उतनी जानकारी प्रदान करने की कोशिश करूंगा जितना मैं कर सकता हूं।

1

सामान्य बीसी समस्या यह है कि पैकेज org.apache.commons.collectionsका नाम बदलकरorg.apache.commons.collections15 कर दिया गया है। मुझे इस बदलाव का कारण पता नहीं है। इसे वापस पुनर्नामित करने का प्रयास करें, लाइब्रेरी को पुन: संकलित करें और अपना एप्लिकेशन दोबारा चलाएं।

मुझे Clirr उपकरण commons-collections-3.2.1.jar (अपाचे से) और collections-generic-4.01.jar (Lavalabs से) पर इस समस्या को मिला है।

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