已经放到java.library.path下了,用System.out.println(System.getProperty("java.library.path"));打印结果为/home/heiman/workspace/common-utils/lib;/usr/local/maven/maven3.5.2//bin:/usr/local/java/bin:/usr/local/java/jre/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games,so库放在了/home/heiman/workspace/common-utils/lib下,但是加载不到 求助大神!急!!!!
6条回答 默认 最新
- ZhihengTao 2017-12-20 05:02关注
so加载需要指明路径.个人想到几种使用方式
- 使用环境变量,即放在特定目录下(其实未必要复制,建立软链接即可),你完全可以使用任何名称的环境变量,只要在源码中读出变量值,然后寻找文件即可
- 使用运行时参数指定,即将绝对路径作为参数传入
- 使用绝对路径,即在源码中使用绝对路径
顺便一提,java加载动态库貌似只有两个API
其一, System.loadLibrary(), 参数好像是库名,即去掉lib前缀和.so*后缀
其二, System.load(),参数是绝对路径,相对路径好像不可以解决 3无用