我正在嘗試使用JNI庫,但無法找到.so文件在我的ubuntu機器上的位置?在ubuntu中使用JNI庫
我需要找到它的原因是因爲我懷疑我使用舊版本,並希望用新版本替換它。
它更多的是一個Ubuntu問題而不是jni。
任何幫助表示讚賞。
我正在嘗試使用JNI庫,但無法找到.so文件在我的ubuntu機器上的位置?在ubuntu中使用JNI庫
我需要找到它的原因是因爲我懷疑我使用舊版本,並希望用新版本替換它。
它更多的是一個Ubuntu問題而不是jni。
任何幫助表示讚賞。
答案會因您要找的圖書館而異。
你會發現一些在/ lib目錄
人在/ usr/lib目錄
取決於你安裝你也可以找到。所以的在/ usr/local/lib目錄
,並可能系統中的任何其他位置(請參閱Duck上面的答案以找到所有的答案)。
對於從包中安裝的特定庫(例如sun-java6-bin包安裝的JNI .so),可使用dpkg查詢軟件包列表並查找所需文件的位置。
dpkg -L sun-java6-bin | grep '\.so'
這將表明該軟件包的大部分安裝在/ usr/lib/jvm/java-6-sun- *下。
如果你不知道你的java安裝與你哪個軟件包可以搜索已安裝的軟件包列表中有:
dpkg -l | grep java
我希望這有助於。
查找/ -name 「mylib.so」 2>的/ dev/null的
如果文件名是一個符號鏈接,按照鏈接到實際庫。
你好,thnx的回覆,請你詳細說明這個命令是什麼意思? – Pradeep 2010-07-21 01:10:18
這是find命令的基本形式。基本上開始在根目錄下查找名爲「mylib.so」的文件,並遞歸檢查文件系統中的所有目錄以查找該名稱的文件。通常情況下,你不會從根開始,但由於你不知道文件的起始位置,因此會檢查所有內容。 2>/dev/null只是將錯誤消息(寫入stderr)重定向到系統位桶,即不存在。這樣可以防止您看到模糊的消息,顯示「您沒有權限查看此目錄」,如果您沒有以root用戶身份運行,則會看到該消息。 – Duck 2010-07-21 02:07:15
thnx您的病人回覆鴨! – Pradeep 2010-07-26 23:58:58
thnx很多,它確實幫助..我發現它在/ usr/local/lib 但我的方式我發現它使用的是命令,我不得不使用updatedb第一! – Pradeep 2010-07-21 01:12:04