2014-10-24 4 views
10

निष्पादित करके एआरएम पर जेडीबीसी लाइब्रेरी लोड नहीं करता है ठीक है हमारे पास बाहरी स्क्लाइट ड्राइवर लाइब्रेरी के साथ एक यूनिक्स होम निर्देशिका में जावा-एप्लिकेशन "app.jar" है।जावा एप्लाइकेशन

- myapp/app.jar 
- myapp/lib/sqlite-jdbc-3.8.7.jar 

डिवाइस उडू एआरएम कॉर्टेक्स वी 9 रास्पबेरी पीआई के लिए सिमलीर।

java -version 
java version "1.8.0_06 
Java(TM) SE Runtime Environment (build 1.8.0_06-b23) 
Java HotSpot(TM) Client VM (build 25.6-b23, mixed mode) 

इस एप्लिकेशन को चलाने का प्रयास विफल रहा।

java -classpath lib/sqlite-jdbc-3.8.7.jar -jar myapp.jar 

ऐसा लगता है कि एप्लिकेशन लाइब्रेरी नहीं ढूंढ सकता है।

java.lang.Exception: No native library is found for os.name=Linux and os.arch=arm 
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:284) 
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:65) 

अब तक मुझे समाधान नहीं मिल रहा है। Jjark/lib फ़ोल्डर में .jar फ़ाइल की प्रतिलिपि बनाना संभव है?

संपादित करें:

अब मैं JRE को SQLite-JDBC-3.7.2.jar जोड़ने की कोशिश की है और यह काम करता है।

jdk1.8.0_06/jre/lib/ext 

नया संस्करण sqlite-jdbc-3.8.7.jar काम नहीं करता है।

+1

एप्लिकेशन ड्राइवर ढूंढ सकता है, लेकिन जार में बांह प्लेटफ़ॉर्म –

+1

के लिए कोई मूल ड्राइवर नहीं है जैसा कि बताया गया है कि कोई हाथ मूल पुस्तकालय नहीं है। हालांकि, 3.7.2 में कोई भी नहीं है इसलिए समझ में नहीं आया कि यह कैसे काम करता है। क्या आपको एक ही स्थान से दोनों संस्करण मिलते हैं। क्या यह संभव है कि किसी ने हाथ पुस्तकालय स्वयं बनाया और लाइब्रेरी के साथ बंडल किया? – vickirk

उत्तर

0

मैंने संस्करण 3.8.7 में संस्करण 3.7.2 के साथ SQLiteJDBCLoader कोड की तुलना की और कुछ अंतर्दृष्टि पाई। 3.7.2 में शुद्ध जावा मोड लगता है जबकि संबंधित कोड 3.8.7 गुम है। मेरे छोटे ज्ञान और डाउनलोड पेज पर एक त्वरित नज़र से, मैंने निष्कर्ष निकाला है कि लक्ष्य प्लेटफॉर्म के लिए किसी को मूल पुस्तकालय की आवश्यकता होगी। मुझे एआरएम के लिए डाउनलोड नहीं मिला।

यदि आपको शुद्ध जावा डेटबेस की आवश्यकता है, तो आप एक और choice ले सकते हैं।

0

मेरा मानना ​​है कि आपकी कमांड लाइन गलत है। यदि आप -jar का उपयोग करते हैं, तो क्लासपाथ को नजरअंदाज कर दिया जाता है!

या तो app.jar में मेनिफेस्ट को लाइब्रेरी को संदर्भित करने की आवश्यकता है, या आपको इसे इस तरह से शुरू करने की आवश्यकता है: जावा-क्लासपाथ lib/sqlite-jdbc-3.8.7.jar: myapp.jar name.of.MainClass