关于weblogic报UnsatisfiedLinkError Native Library xxx.so already loaded

时间:2019-04-19
本文章向大家介绍关于weblogic报UnsatisfiedLinkError Native Library xxx.so already loaded,主要包括关于weblogic报UnsatisfiedLinkError Native Library xxx.so already loaded使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、场景

最近写的一个系统,在Tomcat测试完后说要改使用weblogic,于是在服务器上安装了weblogic,捣鼓了半天,一个个问题冒了出来,其中就有个比较麻烦的报错:UnsatisfiedLinkError Native Library xxx.so already loaded。

造成这个报错的原因,主要是因为有个类使用jni技术,调用了本地的库:

static {
        System.loadLibrary("xxx");
    }

由于一个jvm中不允许加载两次本地动态库,所以在加载第二次的时候,就会抛出这个错误,这个其他博客都说得很详细了。但是很多人的解决方法并不起作用。

二、解决

上网找了一轮,最后是在国外一个问答网站找到了答案,解决方法很简单:

把加载使用jni加载本地动态库的类,导出为jar包,然后把这个jar包放在服务器上,并把这个jar包加入classpath。

三、参考

1. https://www.experts-exchange.com/questions/21877766/I-am-getting-the-java-lang-UnsatisfiedLinkError-Native-Library-C-Lotus-Notes-nlsxbe-dll-already-loaded-in-another-class-exception-when-i-am-redeploying-my-ear-file-without-restarting-the-webserver.html

(完)