java加载本地文件(dll、so)时,经常会出现java.lang.UnsatisfiedLinkError: Unable to load library这种错误,经过实践后总结分析,主要是3种原因:
1. 本地文件没有放置到classpath;
2. 本地文件版本与jdk版本不一致,如dll、so为32位,jdk为64位;
3. 本地文件依赖的其它库不存在,如so依赖的其它so不存在,则so本身就不能运行,自然会报错;
1. 判断dll是否依赖其它dll,可以使用工具或向系统中注册dll,能注册成功即是dll依赖正常。
2. 判断so是否依赖其它so,使用ldd命令,如果有缺失,会出现 xx.so not found字样。
本文探讨了在Java中加载本地文件(如dll、so)时出现的java.lang.UnsatisfiedLinkError错误,并分析了其可能的原因:本地文件未放置在classpath中、本地文件与JDK版本不匹配以及本地文件依赖的其他库缺失等问题。
1万+

被折叠的 条评论
为什么被折叠?



