Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux设置java.library.path

Linux如何设置java.library.path

作者:Rich_Billions

这篇文章主要介绍了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环境下no XXX in java.library.path问题

最近开发一个结合海康摄像头的sdk项目,真是狗。遇到一个问题,在windows上能跑,在linux上就一直跑不起来。

首先发现在windows上装了海康的一个叫MvCamera的软件,所以系统中是有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/ 下面

出现错误xxx.so 无法打开共享对象,该文件或目录不存在时,vim /etc/profile 最后添加上export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib(冒号后面的路径为so文件存放的路径)

解决这个问题

(1)在系统中查找这个文件(当然要保证系统中已经有这个.so文件,只是查找路径没有设置正确而已):

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文