2009-05-06 19 views
7

के माध्यम से ज्ञात जावा स्रोत को संपादित करना संभव है, मैं अपना कोड विकसित करने के लिए ग्रहण 3.4.2 का उपयोग कर रहा हूं। मेरी परियोजना परिभाषा के हिस्से के रूप में मैं एक उपयोगिता पुस्तकालय का संदर्भ देता हूं जिसमें मैंने स्रोत कोड संलग्न किया है। अब तक, बहुत अच्छा - मैं उस स्रोत को देख सकता हूं जब मैं लाइब्रेरी से कक्षाएं लाता हूं और जब मैं डिबगिंग करता हूं।ग्रहण: स्रोत कोड "अनुलग्नक"

अब हालांकि मैं ग्रहण जावा संपादक (विशेष रूप से टूल टिप्स और त्वरित फ़िक्स जैसी चीजों) की सभी सुविधाओं को बनाए रखने के दौरान कक्षाओं में से किसी एक में बदलाव करना चाहता हूं। जब मैं स्रोत देख रहा हूं तो ये सुविधाएं काम करने लगती हैं (उदाहरण के लिए मैं विधि नामों के माध्यम से CTRL + LClick कर सकता हूं), लेकिन यह केवल पढ़ने के लिए है। दूसरी ओर मैं स्रोत फ़ाइल को स्पष्ट रूप से खोल सकता हूं जो मुझे इसे संपादित करने की अनुमति देगा, लेकिन मैं सभी "स्मार्ट" संपादन सुविधाओं को खो देता हूं।

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

उत्तर

7

मुझे यकीन नहीं है कि मुझे आपका प्रश्न सही है। जब आप अपनी परियोजनाओं में एक प्रीकंपिल्ड लाइब्रेरी जोड़ते हैं तो पथ (जेएआर) बनाएं और इस जेएआर को स्रोत संलग्न करें, जब आप JAR के अंदर किसी क्लास पर क्लिक करते हैं तो एक्लिप्स आपको स्रोत कोड दिखाएगा। डीबगर के लिए भी यही होता है, जो आपको स्रोत में कोड लाइनों के माध्यम से कदम उठाने की अनुमति देगा, यदि जार में कक्षाओं को लाइन नंबर की जानकारी के साथ संकलित किया गया था।

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

मुझे लगता है कि आप डीबगर द्वारा चल रहे प्रोग्राम में अपने परिवर्तनों को गर्म-स्वैप करने की अपेक्षा करेंगे। यह आपके परिवर्तनों को समाप्त करने के बाद ही एक पुनर्मूल्यांकन के माध्यम से किया जा सकता है। जब आप जावा स्रोत फ़ाइल को सहेजते हैं तो आम तौर पर ग्रहण स्वचालित रूप से करता है। चूंकि आपकी स्रोत फ़ाइल कार्यक्षेत्र का हिस्सा नहीं है (या बाहरी स्रोत जिसे स्पष्ट रूप से जावा स्रोत के रूप में घोषित किया गया है) - यह उस पुन: संकलित और स्वैप नहीं करेगा।

मैं ग्रहण में एक परियोजना के रूप में आपकी बाहरी पुस्तकालय का स्रोत शामिल करने की सिफारिश करता हूं और प्रदर्शन के बारे में चिंता नहीं करता - मैं हर दिन 3.4.2 के साथ काम करता हूं और मेरे कार्यक्षेत्र में लगभग 10.000 वर्गों के साथ लगभग 45 खुली परियोजनाएं होती हैं और कोड की लाखों लाइनें। मैं ग्रहण वीएम को रैम का गीगाबाइट असाइन करता हूं और Core2Duo 2.6GHz मशीन पर इसके साथ कोई समस्या नहीं है।

+0

यह इतना नहीं है कि मैं ग्रहण करता हूं कि जब मैं इसे चलाता हूं तो सिस्टम में किए गए किसी भी बदलाव को "हॉट स्वैप" करने की उम्मीद है। मैं ग्रहण को उस जार से कक्षाओं के "निर्मित" रूप प्राप्त करने के लिए कह रहा हूं और मैं उम्मीद करता हूं कि यह ऐसा करने के लिए (जैसा कि करता है)। यह वास्तव में केवल "सहायता" रखने का मुद्दा है जो जावा संपादक प्रदान करता है अगर मैं फैसला करता हूं कि मुझे बाइनरी रूप में शामिल करने के लिए कुछ कक्षाओं को संपादित करने की आवश्यकता है। हालांकि आकार सीमा के बारे में जानना अच्छा है - हमारा कोड बेस वही है और यह इंटेलिजे को चुटकता है। – sfitts

+0

बस ग्रहण को एक अलग परियोजना के रूप में स्रोत कोड जोड़ें, और फिर आगे बढ़ें और संपादित करें –

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