工作中碰到一个问题,维护的一个jar在linux下调用库文件的时候报
java.lang.UnsatisfiedLinkError *.so already loaded in another classloader;
百度结果是同一个so文件被同一个JVM重复加载时,会出现以上错误。
问题解决之后,想到有没有方法在加载库文件之前判断该库文件是否已经被加载或者说获取当前加载的库文件列表。
大概搜了下,没有明确的给出这种方法的,但找到一个类似的java中dll文件的加载和卸载。
稍作修改: