当我们jar项目需要用到第三方非java库,例如libagora_rtm_sdk.so,那我们要怎么引入呢?
java会在System.getProperty("java.library.path")); // Java lib路径,引入.so库。
寻找.so文件要放入的位置,然后把库放入位置
在linux中寻找libagora_rtm_sdk.so文件放入的位置,当我们不知道放到哪里的时候,利用System.getProperty("java.library.path"));就会打印出Java lib路径。也就是.so需要放入的位置。
import java.io.IOException;
public class Library {
public static void main(String[] args) throws IOException {
System.out.println(System.getProperty("java.library.path"));
}
}
[root@izwz9flzyeasykx7o9lqgtz yk]# javac Library.java
[root@izwz9flzyeasykx7o9lqgtz yk]# java Library
/opt/glibc-2.25/lib:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
/opt/glibc-2.25/lib:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
找到/opt/glibc-2.25/lib文件夹,把libagora_rtm_sdk.so文件放入进去。
如果libagora_rtm_sdk.so没有引入或或者位置放错,nested exception is java.lang.UnsatisfiedLinkError: no agora_rtm_sdk in java.library.path
在winds部署jar包,就要把.ll文件直接放入jdk的bin目录下或者放入system32下