शीर्षक कहता है, मैं ग्रहण के साथ javap
का उपयोग करने की कोशिश कर रहा हूं लेकिन इसे स्थापित करने में कठिनाइयां हैं। मैं इसे run
मेनू से external tools
का उपयोग करके सेट अप करने का प्रयास कर रहा हूं लेकिन इसे काम करने के लिए सही Arguments:
स्ट्रिंग नहीं मिल रहा है। असल में मुझे ऐसा कुछ चाहिए जो मैंने खोले गए वर्तमान फ़ाइल को गतिशील रूप से निष्पादित करेगा।ग्रहण के साथ जावप का उपयोग कैसे करें?
उत्तर
मैं इस लक्ष्य को हासिल करने के लिए निम्नलिखित बाहरी टूल विन्यास का उपयोग करें:
${system_path:javap}
ग्रहण द्वारा प्रयोग किया जाता JDK में javap पता लगाने के लिए प्रयोग किया जाता है। आप इसके बजाए जावप के लिए एक पूर्ण पथ का उपयोग कर सकते हैं।
${project_loc}
परियोजना के लिए पूर्ण पथ देता है। इसका उपयोग किया जाता है, क्योंकि मुझे .class
संसाधन की फ़ाइल का पता लगाने के लिए उपयोग करने के लिए प्री-डिफ़ाइन वैरिएबल नहीं मिला, और यही कारण है कि javap
.class
फ़ाइल वाली निर्देशिका के बजाय प्रोजेक्ट की निर्देशिका में चलता है।
तर्क javap
के लिए पारित में:
bin
ग्रहण परियोजनाओं के लिए डिफ़ॉल्ट उत्पादन फ़ोल्डर है। इसेbuild/classes
पर बदलें या जो भी परियोजना द्वारा उपयोग किया जाता है। नोट, मान${project_loc}
से संबंधित है; आप इसके बजाय पूर्ण पथ निर्दिष्ट कर सकते हैं।${java_type_name}
चयनित कक्षा का नाम प्राप्त करने के लिए उपयोग किया जाता है।
आप प्रोजेक्ट एक्सप्लोरर व्यू या प्रोजेक्ट नेविगेटर व्यू में जावा फ़ाइल का चयन कर सकते हैं, या किसी भी दृश्य में जावा टाइप भी चुन सकते हैं, और फिर बाहरी टूल चला सकते हैं। नोट - जब आप कोई विधि, एक आंतरिक वर्ग इत्यादि चुनते हैं तो यह दृष्टिकोण काफी अच्छी तरह से काम नहीं करता है और फिर उपकरण चलाता है, क्योंकि वे स्वयं संसाधन नहीं होते हैं, जिससे परिदृश्य होता है जहां ${project_loc}
खाली हो जाएगा।
आपकी समस्या यह है कि javap क्लास फ़ाइल के लिए पथ की आवश्यकता है, लेकिन जब आप अपनी स्रोत फ़ाइल का चयन करते हैं तो आप ग्रहण चर ${selected_resource_loc}
तक पहुंच सकते हैं जावा स्रोत के पथ। जहां तक मैं समझता हूं कि कोई चर नहीं है जिसमें कक्षा फ़ाइल के पथ शामिल हैं।
मुझे लगता है कि आपके लिए सबसे आसान तरीका आपकी कस्टम स्क्रिप्ट बना रहा है जो जावा फ़ाइल के पथ को स्वीकार करता है, java
से class
और बिन फ़ोल्डर में स्रोत फ़ोल्डर को प्रतिस्थापित करता है। यदि आप लिनक्स का उपयोग कर रहे हैं तो इसे आसानी से कमांड sed
का उपयोग करके किया जा सकता है। यदि आप विंडोज़ पर हैं तो इसे ~
के साथ कमांड SET
का उपयोग करके कार्यान्वित किया जा सकता है। अधिक जानकारी के लिए सहायता देखें।
शुभकामनाएं।
कृपया अपने जावा प्रोजेक्ट आउटपुट फ़ोल्डर से मेल खाने के लिए Working Directory
को संशोधित करके देखें। मेरे मामले में, यह नीचे दिया गया है।
कार्य निर्देशिका: ${workspace_loc:/Sample/bin}
तब मैं .class
फ़ाइल का चयन किया और बिना किसी समस्या के javap
मार डाला।
एक्लिप्स में वर्तमान में चयनित .class
फ़ाइल को अलग करने के लिए मैं बाहरी उपकरण कॉन्फ़िगरेशन में निम्न arguments का उपयोग करता हूं।
इस तरह bin
फ़ोल्डर के उप-पैकेजों में कक्षाओं को भी अलग किया जा सकता है। आउटपुट कंसोल दृश्य में प्रदर्शित होता है।
javap parameters के ओरेकल दस्तावेज़।
धन्यवाद! [...] – guest
+1 ने 'कक्षा नाम' से पहले '-c' रखने के लिए चित्र को भी अपडेट किया क्योंकि पैरामीटर पहले रखा जाना चाहिए। आशा है कि आपको बुरा लगेगा :) – Pshemo