क्या यह निर्धारित करने का कोई तरीका है कि कौन से वर्ग लोड किए गए हैं, जिसमें से जार रनटाइम पर हैं?कैसे पता लगाएं कि कौन से वर्ग लोड किए गए हैं, जिनमें से जेएआरएस?
मुझे यकीन है कि हम सब पहले जार नरक में हैं। मैंने इस समस्या को कई समस्या निवारण ClassNotFoundException
एस और NoClassDefFoundError
एस परियोजनाओं पर चलाया है। मैं जार में एक वर्ग के सभी उदाहरणों को ढूंढने और कोड पर उन्मूलन की प्रक्रिया का उपयोग करने से बचाना चाहता हूं जिससे सीएनएफई अपराधी को ढूंढ सके।
क्या कोई प्रोफाइलिंग या प्रबंधन उपकरण आपको इस तरह की जानकारी देगा?
यह समस्या पूरी तरह से परेशान है क्योंकि कक्षा में लोड होने के समय हमारे पास यह जानकारी होनी चाहिए। इसे पाने का तरीका बनना है, या इसे रिकॉर्ड करना है और इसे ढूंढना है, फिर भी मुझे कुछ भी नहीं पता है जो यह करेगा, है ना?
मुझे पता है कि ओएसजीआई और संस्करण वाले बंडल/मॉड्यूल का उद्देश्य यह एक गैर मुद्दा बनाना है ... लेकिन ऐसा लगता है कि यह जल्द ही कभी नहीं जा रहा है। :)
नोट: मैंने पाया कि यह question संस्करण वाले जार से लोड कक्षाओं से संबंधित मेरे प्रश्न का सबसेट है।
अद्यतन: कुछ हद तक संबंधित, यह पोस्ट जार के भीतर कक्षा (या तो वर्तमान निर्देशिका के तहत) या आपके एम 2 डीजीपीओ में एक कक्षा की खोज करने की रणनीति बताती है। JarScan, scan all JAR files in all subfolders for specific class
अद्यतन 2: इसके अलावा कुछ हद तक संबंधित, JBoss Tattletale
जेसन डे यह सही है, यह मूल रूप से एक सवाल का डुप्लिकेट मैं नहीं तो बहुत पहले से पूछा है देख सकते हैं। http://stackoverflow.com/questions/779650/where-on-the-file-system-was-my-java-class-loaded- से – shsteimer