द्वारा फेंक दिया गया है मैं कस्टम क्लास लोडर का उपयोग कर कक्षाएं लोड कर रहा हूं। अधिकांश भाग के लिए, सब कुछ काम करता है, लेकिन कभी कभी जब मैं विशेष रूप से जटिल परियोजनाओं/पुस्तकालयों लोड करते हैं, मैं एक अजीब बग मिलती है:ClassCircularityError ClassLoader.defineClass
Exception in thread "main" java.lang.ClassCircularityError:
org/apache/commons/codec/binary/Hex
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
at my.custom.class.Loader.loadClass(...)
Javadocs को देखते हुए, मैं defineClass
इस विशेष त्रुटि फेंक करने की उम्मीद नहीं होता। org/apache/commons/codec/binary/Hex
वह वर्ग है जिसे मैं लोड करने की कोशिश कर रहा हूं। यह लगभग defineClass
वर्ग की एक प्रति चाहता है इससे पहले कि वह कक्षा को परिभाषित करे - जो मुझे कोई समझ नहीं आता है।
विचार?
क्या आप अपना कोड दिखा सकते हैं? क्या आपने अभी सुझाए गए findClass() को ओवरराइट किया था? अन्यथा आपको सब कुछ ठीक करने के लिए सावधान रहना होगा। – Voo
* यह कक्षा को परिभाषित करने से पहले वर्ग की प्रतिलिपि चाहता है, कक्षा वर्ग को परिभाषित करने से पहले, यह कक्षा की एक प्रति नहीं चाहता है। और आपने पैकेज नाम 'कक्षा' को परिभाषित करने में कैसे कामयाब रहे? – bestsss
@bestsss संभवतः स्टैक ट्रेस पैकेज नामों की खराब पसंद के साथ खराब हो गया है –