मेरा जेएसपी प्रोग्राम एचपी-यूएक्स के तहत वेबस्पेयर पर चलाने के लिए सेट है।लोड हो रहा है * .so फाइलों में फाइलें
मेरे पास कुछ .jar फ़ाइलें और एक .so फ़ाइल है जिसमें कक्षाएं शामिल हैं जिन्हें मेरे प्रोग्राम को चलाने की आवश्यकता है।
मेरी .jar फ़ाइलों को \MyProgram\WEB-INF\lib\
फ़ोल्डर में रखकर, मैं कुछ काम करने में सक्षम था।
हालांकि, मुझे UnsatisfiedLinkError
दिखाई देता है जो मेरी lib.so फ़ाइल को पहचानने के कारण नहीं होता है।
तरीके मैंने पाया था:
व्यवस्थापन कंसोल में, पर्यावरण के लिए जाने -> साझा पुस्तकालय -> नई
क्लासपाथ में .jar फ़ाइल का स्थान दर्ज करें, दर्ज करें। इसलिए मूल निवासी लाइब्रेरी पथ
व्यवस्थापन कंसोल में में स्थान फ़ाइल, आवेदन करने के लिए जाने -> आवेदन प्रकार -> एंटरप्राइज़ एप्लिकेशन
माइप्रोग्राम के तहत -> साझा लाइब्रेरी संदर्भ -> साझा लाइब्रेरी मैपिंग, प्रोग्राम को लाइब्रेरी को उपलब्ध से चुनकर इसे स्थानांतरित करके असाइन करें।
मैं दो प्रश्न हैं:
मैं सिर्फ .jar फ़ाइलें और बजाय मेरी कार्यक्रम के
\lib\
फ़ोल्डर से काम करने के लिए .so फ़ाइल मिल सकता है?यदि मैं नहीं कर सकता, तो क्या मेरे एप्लिकेशन फ़ोल्डर से क्लासपाथ और मूल लाइब्रेरी पथ सूचीबद्ध करना संभव है? फ़ाइल को भौतिक सर्वर में एक पूर्ण पथ
C:\IBM\WebSphere\AppServer\bin\lib.so
के साथ रखने के बजाय एक websphere चर निर्देशिका के साथ अपना आवेदन अपलोड करने की तरह कुछ।%MYPROGRAM%\WEB-INF\lib\lib.so
?
[संपादित-01] नीचे अधिक जानकारी:
Error received: "Error 500: java.lang.UnsatisfiedLinkError: com.chrysalisits.crypto.LunaAPI.Initialize()V"
मैं Websphere लुनासा HSM के साथ इंटरफेस करने सार्वजनिक/निजी कुंजी को पुनः प्राप्त करने की कोशिश कर रहा हूँ। उन्होंने मुझे प्रदान किया है: libLunaAPI.sl, libLunaAPI.so, LunaJCASP.jar, LunaJCESP.jar। आईबीएम के वेबस्पेयर वी 8 -> संदर्भ -> कक्षा लोडिंग अपवादों से, यह इंगित करता है कि मुझे एचपी-यूएक्स के लिए * .so फ़ाइल की आवश्यकता है, इसलिए मैंने accordingly किया। पथ सेट पूर्ण पथ हैं जिन्हें मैंने वेबस्पेयर में निर्दिष्ट किया है। यह मेरे दूसरे प्रश्न से संबंधित है।
पहला सवाल यह है कि मैं वास्तव में सोच रहा हूं कि क्या मैं इन फ़ाइलों को myProgram.war में डाल सकता हूं और सर्वर तक पहुंचने और पूर्ण पथ संदर्भों के लिए फ़ाइलों को रखने के बजाय WinSCP का उपयोग करने के बजाय वहां से भाग सकता हूं। शायद निर्दिष्ट करें कि उपर्युक्त फाइलें मेरे प्रोग्राम में \ WEB-INF \ lib \ के बजाय स्थित हैं। ऐसा इसलिए है क्योंकि मेरा केवल यह कार्यक्रम लुनासा एचएसएम तक पहुंच जाएगा।
** पीएस। मैंने दोनों तरीकों की कोशिश की लेकिन यह अभी भी विफल रहता है। आह।
WebSphere प्रलेखन से (कम से कम संस्करण 7 के माध्यम से, मुझे लगता है कि परे देखा नहीं किया है), ऐसा प्रतीत होता है कि मूल निवासी पुस्तकालय केवल सिस्टम पथ से या एक साझा लाइब्रेरी से लोड किया जा सकता। यह एक व्यक्तिगत वेब अनुप्रयोग के तैनात पथ से नहीं है। मुझे नहीं लगता कि मैं अपने प्रश्न 2. – dbreaux
हाय dbreaux समझते हैं, मैं एक लुनासा HSM से चाबी को पुनः प्राप्त करने Websphere पाने के लिए कोशिश कर रहा हूँ। com पर com.chrysalisits.crypto.LunaAPI.Initialize() com.chrysalisits.crypto.LunaAPI.Initialize (मूल निवासी विधि) पर वी: दुर्भाग्य से, एक UnsatisfiedLinkError मुझे बता रहता है वहाँ कुछ गलत है htat: "की वजह से: java.lang.UnsatisfiedLinkError .chrysalisits.crypto.LunaTokenManager (LunaTokenManager.java:107) com.chrysalisits.crypto.LunaTokenManager.getInstance (LunaTokenManager.java:62) com.chrysalisits.cryptox.LunaJCEProvider पर। (LunaJCEProvider.java:149) पर ... " –
मैं वास्तव में .war और Websphere निर्देशिका में .so फ़ाइलों को रखने और उन्हें अपने कार्यक्रम के लिए पुस्तकालय सौंपने से पहले जोड़ने की कोशिश की। त्रुटि अभी भी होती है, यह भी सुनिश्चित नहीं है कि यह प्रोग्राम में लाइब्रेरी को जोड़ने का सही तरीका है। –