2011-05-24 18 views
7

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

जब यह हाइबरनेट आया, तो मुझे कोई संकेत नहीं था कि सभी जार को पहले स्थान पर शामिल किया जाए। अगली चुनौती पर, यह नहीं पता था कि प्रत्येक के लिए कौन सा संस्करण जोड़ना है।

अंततः मुझे पूरी चीज मिल रही है, लेकिन यह तब तक नरक में प्रवेश करने के लिए इतनी डरावनी लगती है जब तक कि मैं मेवेन स्वर्ग के माध्यम से नहीं जाता।

बहुत से इंटरसेप्टर और बुनाई के साथ, पारंपरिक जावा प्रोग्रामर के लिए यह अधिक जटिल हो रहा है, जो एक बार जावा को प्राथमिक रूप से मेरे कोड के बारे में बहुत पारदर्शिता के लिए पसंद करता था।

क्या मैं विचार प्रक्रिया में सही हूं?

+2

सभी जेपीए कार्यान्वयन में निर्भरता की संख्या कुछ भी नहीं है जैसे हाइबरनेट। – DataNucleus

+3

हम इसकी ओर बढ़ रहे नहीं हैं। हम एक lloonngg समय के बाद में हैं। बस उस समस्या को ठीक करने के लिए "प्रौद्योगिकियों" की संख्या देखें। उदाहरण के लिए ओएसजीआई और उनके पेज * "ओएसजीआई" * के लिए लें, उदाहरण के लिए आप निम्नलिखित लिखे गए देखें: * "ओएसजीआई तकनीक जार नरक हल करती है" *। और जब निर्भरता के मुद्दों की बात आती है तो ओएसजीआई लोग निश्चित रूप से अनजान नहीं हैं:) – SyntaxT3rr0r

उत्तर

9

चींटी का उपयोग करते समय भी आप निर्भरता प्रबंधन कर सकते हैं, Ivy का उपयोग करें। अधिक विस्तृत या कम सटीक स्टैक के लिए विस्तृत ट्यूटोरियल here देखें जो आप उपयोग करना चाहते हैं। (हाइबरनेट शामिल नहीं है लेकिन मुझे लगता है कि आप इसे बहुत तेज़ी से जोड़ सकते हैं)

और एक और बात, यदि आप वसंत का जिक्र कर रहे हैं .jar जिसमें पूर्ण वसंत 2.5.6 बंडल है, मैं दृढ़ता से सुझाव देता हूं इसका उपयोग न करने के लिए, आपको शायद इसमें शामिल पुस्तकालयों में से 20% से अधिक की आवश्यकता नहीं है। (यह जानने के लिए समय लें कि आपको कौन सी लाइब्रेरी की आवश्यकता है और केवल उन्हें चुनें।)

इसके अलावा, यदि आप कर सकते हैं तो स्प्रिंग 3 का उपयोग करने पर विचार करें, साथ ही साथ हाइबरनेट, यदि आप एक संस्करण चुनने के लिए स्वतंत्र हैं, तो मैं जाऊंगा नवीनतम के लिए।

+0

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

+1

और भी मेरी दूसरी टिप्पणी अभी भी वैध है, _not_ spring.jar का उपयोग करें, जांचें कि आपको कौन से जार चाहिए। लेकिन आपकी सीमाओं के साथ आप सही हो सकते हैं कि किसी भी प्रकार की केंद्रीकृत निर्भरता एमजीएमटी प्रणाली का उपयोग एक उपरांत है, केवल इस तथ्य को इंगित कर रहा था कि वहां चींटी के लिए एक मैवेन जैसी प्रणाली है, अर्थात् आईवी। उद्धरण के लिए – abalogh

1

मैंने पहले अन्य जेपीए कार्यान्वयन का उपयोग किया था, लेकिन मैंने इस साल पहली बार हाइबरनेट का उपयोग किया था। निश्चित रूप से यह जार निर्भरताओं के मामले में दूसरों की तुलना में अधिक जटिल है, लेकिन Getting Started Guide में, में, Obtaining Hibernate के तहत मुझे विवरण मिला कि मुझे किस जार की आवश्यकता है और क्यों।

मुझे बाद में जार नरक समस्याओं का सामना करना पड़ा, न कि जारों का उपयोग करने के कारण, बल्कि इसलिए कि हम वास्तव में बड़ी संभावना में हैं, और अन्य सबप्रोजेक्ट पहले से ही हाइबरनेट वर्गों के पुराने संस्करणों का उपयोग कर रहे थे, और इससे मुझे रनटाइम पर बहुत सारी परेशानी और मुझे निदान और ठीक करने में कई दिन लगे।

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

शायद सबसे बड़ी आशा है कि हमारे पास Project Jigsaw भविष्य में जेडीके 8 का हिस्सा बनने का इरादा है और जो वर्तमान में जावा मॉड्यूलरिटी समस्याओं को हल करने का प्रयास करता है। यह स्टेरॉयड के साथ ओएसजीआई की तरह होगा, और जेडीके में ही बनाया जाएगा।

लेकिन इससे पहले ऐसा होता है, सब मैं आपको बता सकता Wiston चर्चिल ने एक प्रसिद्ध उद्धरण

आप नरक के माध्यम से जा रहे हैं, तो जा रहा

+0

+1 – abalogh

0

इस में से एक है रखना है मुद्दे जो Grails पते - जार (स्प्रिंग, हाइबरनेट, आदि) के एक विशिष्ट सेट को बंडल करके जो एक साथ काम करते हैं और उन जारों को अपग्रेड करते हैं जैसे कि ग्रेल्स विकसित होते हैं।

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