2013-02-19 30 views
10

मैं एक्लिप्स आईडीई का उपयोग कर जावा में एक एप्लिकेशन विकसित कर रहा हूं। मेरा ओएस उबंटू 11. मेरा आवेदन सीरियल संचार के लिए आरXTएक्स लाइब्रेरी (gnu.io. *) का उपयोग कर रहा है। मैंने परियोजना में RXTXomm.jar फ़ाइल को जोड़ा है (प्रोजेक्ट-> गुण-> जावा बल्ब पथ-> बाहरी जार जोड़ें)। जब भी मैं अपना कोड चलाता हूं तो यह मुझे यह त्रुटि देता है।java.library.path में rxtxSerial जोड़ने के लिए कैसे?

java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading 
gnu.io.RXTXCommDriver 
Exception in thread "main" java.lang.UnsatisfiedLinkError: no rxtxSerial in 
java.library.path 

मैं भी librxtx-java.deb स्थापित करने की कोशिश की। लेकिन इसने समस्या को ठीक नहीं किया। मैंने फाइल सिस्टम में चारों ओर खोज की और पाया कि librxtxSerial.so/usr/lib/jni में स्थित है।

मैं इस समस्या को कैसे ठीक कर सकता हूं? > गुण - -> जावा का निर्माण पथ

अग्रिम

उत्तर

15

धन्यवाद परियोजना में अपने जार का पता लगाएं। JAR के गुणों को खोलने के लिए + पर क्लिक करें, मूल पुस्तकालय स्थान का चयन करें और RXTX की साझा लाइब्रेरी (डीएलएल, .so, .dylib) को इंगित करने के लिए इसे संपादित करें।

+0

बहुत बहुत शुक्रिया आदमी यह पूरी तरह से काम किया! –

+3

नेटबीन्स में आप यह कैसे करेंगे? – DevilCode

+2

मुझे नहीं पता, मैं नेट बीन्स उपयोगकर्ता नहीं हूं। एसओ, Google, खोजें ... अगर यह इसका उत्तर नहीं देता है, तो इसे एक नया प्रश्न बनाएं (टिप्पणी के बजाए)। – martijno

2

एक विधि अपने प्रोजेक्ट के लिए एक्लिप्स रन कॉन्फ़िगरेशन में java.library.path सेट करना है। आप अपने रन कॉन्फ़िगरेशन के Arguments टैब में VM तर्क संपादित कर सकते हैं (इसमें पहुंचने के कुछ तरीके शामिल हैं- प्रोजेक्ट पर राइट क्लिक करें-> रन-> रन कॉन्फ़िगरेशन ... और रन मेनू-> कॉन्फ़िगरेशन चलाएं ...)।

यदि आप अपनी परियोजना की जड़ में एक lib निर्देशिका बनाते हैं और lib निर्देशिका में RXTX लाइब्रेरी की प्रतिलिपि रखते हैं तो आप निम्न VM तर्क (प्रोजेक्ट को अपने प्रोजेक्ट के नाम से प्रतिस्थापित कर सकते हैं) का उपयोग कर सकते हैं।

-Djava.library.path=${project_loc:ProjName}/lib 
+0

एक ही समस्या को हल करने में मेरी सहायता करें। @ मार्टिज़नो द्वारा उत्तर एक तेज और साफ करने वाला परिणाम देता है लेकिन मैं कभी-कभी इस तरह से पसंद करता हूं क्योंकि यह चीजों को और अधिक दृश्यमान बनाता है, खासकर जब कई निर्भरताओं में खींचता है। – kevind7

2

टर्मिनल खोलें (Ctrl + Alt + T) और जाँच:

echo $JAVA_HOME 
# JDKDIR : /usr/lib/jvm/java-7-oracle 

तो चलाएँ:

sudo cp /usr/lib/jni/librxtxSerial.so $JAVA_HOME/jre/lib/i386/ 
+0

'' "$ JAVA_HOME/jre/lib/i386 /" '' 'के आसपास उद्धरण जोड़ें –

संबंधित मुद्दे