Exception和Error分析(—)—UnsatisfiedLinkError
阅读量:6983 次
发布时间:2019-06-27
本文共 768 字,大约阅读时间需要 2 分钟。
现象:
java.lang.UnsatisfiedLinkError: Native Library xxx.dll already loaded in another classloader at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1551) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1511) at java.lang.Runtime.loadLibrary0(Runtime.java:788) at java.lang.System.loadLibrary(System.java:834) 这种错误在我们使用热启动方式发布某个使用了JNI
技术的Web
应用时,并将调用年native
方法的jar
包独立部署在该应用下面,当我们的Web
应用有了更新以后,在调用到该jar
包封装的native
方法时,会抛出该错误。(以上OS
为Windows
,若是Linux
或Unix
,应该是xxx.so
报错) 这是因为Web
服务器已经在第一次加载该应用时,已经load
了该dll
,当该应用被再次热启动时,该dll
将重新被加载,于是报错。 一、
将含有JNI
调用的jar
包部署在Web
服务器的公用lib
库中。Web
应用再发布时可以不用加载; 二、jar
包部署不变,在该Web
中实现一个listener
,监听是否第一次启动,若不是第一次启动,屏蔽掉该jar
包所含dll
的加载。 本文转自 cuiyingfeng 51CTO博客,原文链接: http://blog.51cto.com/cuiyingfeng/6819 ,如需转载请自行联系原作者
你可能感兴趣的文章
2016及以后的自动化测试趋势 -《测试技术六月刊》
查看>>
基于Angular创建后台数据模拟(译)
查看>>
大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》
查看>>
[From OpenBSD Man Page]PFSYNC
查看>>
自定义View时,用到Paint Canvas的一些温故,讲讲平时一些效果是怎么画的(基础篇 一)...
查看>>
hdu 5131 Song Jiang's rank list 【2014ACM/ICPC亚洲区广州站-重现赛】
查看>>
Moose File System分布文件系统测试
查看>>
React Native微信支付开发爬坑之旅
查看>>