2010-07-20 101 views
0

我正在嘗試使用JNI庫,但無法找到.so文件在我的ubuntu機器上的位置?在ubuntu中使用JNI庫

我需要找到它的原因是因爲我懷疑我使用舊版本,並希望用新版本替換它。

它更多的是一個Ubuntu問題而不是jni。

任何幫助表示讚賞。

回答

1

答案會因您要找的圖書館而異。

你會發現一些在/ 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 

我希望這有助於。

+0

thnx很多,它確實幫助..我發現它在/ usr/local/lib 但我的方式我發現它使用的是命令,我不得不使用updatedb第一! – Pradeep 2010-07-21 01:12:04

1

查找/ -name 「mylib.so」 2>的/ dev/null的

如果文件名是一個符號鏈接,按照鏈接到實際庫。

+0

你好,thnx的回覆,請你詳細說明這個命令是什麼意思? – Pradeep 2010-07-21 01:10:18

+0

這是find命令的基本形式。基本上開始在根目錄下查找名爲「mylib.so」的文件,並遞歸檢查文件系統中的所有目錄以查找該名稱的文件。通常情況下,你不會從根開始,但由於你不知道文件的起始位置,因此會檢查所有內容。 2>/dev/null只是將錯誤消息(寫入stderr)重定向到系統位桶,即不存在。這樣可以防止您看到模糊的消息,顯示「您沒有權限查看此目錄」,如果您沒有以root用戶身份運行,則會看到該消息。 – Duck 2010-07-21 02:07:15

+0

thnx您的病人回覆鴨! – Pradeep 2010-07-26 23:58:58