उदाहरण: मेरे पास दो साझा ऑब्जेक्ट हैं (समान रूप से .dlls पर लागू होना चाहिए)। पहली साझा वस्तु किसी तृतीय-पक्ष लाइब्रेरी से है, हम इसे libA.so कहते हैं। मैंने इनमें से कुछ को जेएनआई के साथ लपेट लिया है और अपनी खुद की लाइब्रेरी बनाई है, libB.so. अब libB libA पर निर्भर करता है।मैं जावा वेबस्टार्ट एकाधिक, आश्रित, देशी पुस्तकालय कैसे कर सकता हूं?
वेबस्टार्टिंग करते समय, दोनों पुस्तकालय कुछ वेबस्टार्ट कार्यक्षेत्र में स्थान होते हैं। मेरा जावा कोड libB लोड करने का प्रयास करता है। इस बिंदु पर सिस्टम लोडर libA लोड करने का प्रयास करेगा जो सिस्टम लाइब्रेरी पथ में नहीं है (java.library.path इससे मदद नहीं करेगा)। अंत परिणाम यह है कि libB के पास असंतुष्ट लिंक है और इसका उपयोग नहीं किया जा सकता है।
मैंने libB से पहले libA लोड करने का प्रयास किया है, लेकिन यह अभी भी काम नहीं करता है। ऐसा लगता है कि ओएस मेरे लिए लोड करना चाहता है। क्या कोई तरीका है कि मैं इस काम को स्थिर रूप से संकलित करने के अलावा कर सकता हूं?
क्लासलोडर्स समस्या को ठीक नहीं कर सकता क्योंकि ओएस मूल निर्भरताओं को हल करता है। – basszero