Java - JNI

עידו123456

New member
Java - JNI

אני מסתבך כאן עם טעינת הספרייה דרך java בלינוקס. יש לי shared-object שנקרא MsgImpl.so ונמצא באותה הספרייה כמו ה class של ה java. קריאה מפורשת ל System.load("/full/path/to/MsgImpl.so") עובדת בלי בעיות אבל קריאה ל System.loadLibrary("MsgImpl") לא עובדת. (ניסיתי גם MsgImpl.so) נסיתי לקרוא לאפליקציה בעזרת:
java -Djava.library.path=. ShowMessage java -Djava.library.path=`pwd` ShowMessage וגם: setenv LD_LIBRARY_PATH `pwd` java ShowMessage​
ותמיד אני מקבל את השגיאה: Exception in thread "main" java.lang.UnsatisfiedLinkError: no MsgImpl in java.library.path איך עושים את זה?
 

selalerer

New member
בד"כ לספריות יש גם 'lib' לפני השם,

אולי ה-loadLibrary מוסיף את זה לשם. תנסה לשנות לקובץ את השם ל-libMsgImpl.so ותראה אם זה עובד.
 

עידו123456

New member
וואלה

עובד. מוזר, כי את הדוגמא לקחתי מהספר של Bruce Eckel... תודה בכל מקרה
.
 
למעלה