Linux如何設置java.library.path
Linux設置java.library.path
1、定義一個目錄放置自定義的SO文件
[root@slave1 os]# pwd /usr/local/tradeapi/os [root@slave1 os]# ll 總用量 11860 -rwxr-xr-x. 1 root root 1419392 10月 12 14:14 libiconv.so.2 -rw-r--r--. 1 root root 2020538 10月 12 14:11 libthostmduserapi.so -rw-r--r--. 1 root root 4706747 10月 12 14:11 libthosttraderapi.so -rw-r--r--. 1 root root 3986800 10月 12 14:11 libthosttraderapi_wrap.so
2、修改/etc/profile
vim /etc/profile export JAVA_HOME=/usr/local/java/jdk1.8.0_171 export MAVEN_HOME=/usr/local/maven/maven3 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin 加入 LD_LIBRARY_PATH=/usr/local/tradeapi/os export LD_LIBRARY_PATH source /etc/profile
解決linux環(huán)境下no XXX in java.library.path問題
最近開發(fā)一個結合海康攝像頭的sdk項目,真是狗。遇到一個問題,在windows上能跑,在linux上就一直跑不起來。
首先發(fā)現(xiàn)在windows上裝了??档囊粋€叫MvCamera的軟件,所以系統(tǒng)中是有dll文件的。于是筆者就在linux上也下載了這個軟件。
當然他是一個壓縮包。解壓后我放到了/usr/lib目錄下。
接下來就是解決問題的步驟
使用-Djava.library.path=/user/lib 指定java.library.path的路徑,將so文件放到指定路徑下 如: java -Djava.library.path=/user/lib -jar 你的項目.jar
System.getProperty(“java.library.path”)獲取庫路徑再將so文件放入到輸出的路徑中的一個
如果前兩個死活還是找不到文件,可以放到 (你的JAVA安裝路徑){JAVA_HOME}/jre/lib/amd64/ 下面
出現(xiàn)錯誤xxx.so 無法打開共享對象,該文件或目錄不存在時,vim /etc/profile 最后添加上export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib(冒號后面的路徑為so文件存放的路徑)
解決這個問題
(1)在系統(tǒng)中查找這個文件(當然要保證系統(tǒng)中已經(jīng)有這個.so文件,只是查找路徑?jīng)]有設置正確而已):
sudo find / -name libjson_linux-gcc-4.6_libmt.so //其中“/”應該是根目錄
結果:/home/liu/Desktop/jsoncpp-src-0.5.0/libs/linux-gcc-4.6/libjson_linux-gcc-4.6_libmt.so
(2)將.so文件路徑的目錄添加到/etc/ld.so.conf
sudo vim /etc/ld.so.conf
文件末尾新添加一行,/home/liu/Desktop/jsoncpp-src-0.5.0/libs/linux-gcc-4.6
(3)使得修改生效
sudo /sbin/ldconfig
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。