java.library.path中的java.lang.UnsatisfiedLinkError否*****dll
为了System.loadLibrary()正常工作,该库(在Windows上为DLL)必须位于目录中PATH 或java.library.path系统属性中列出的路径上的某个目录中(这样你就可以启动Java了java -Djava.library.path=/path/to/dir)。
此外,对于loadLibrary(),你可以指定库的基本名称,但.dll结尾不能带。因此,/path/to/something.dll你只需使用System.loadLibrary('something')。
你还需要查看所获得的确切信息UnsatisfiedLinkError。如果显示类似以下内容:
Exception in thread 'main' java.lang.UnsatisfiedLinkError: no foo in java.library.path
那么它将无法在你的或中找到foo库(foo.dll)。如果显示类似以下内容:PATHjava.library.path
Exception in thread 'main' java.lang.UnsatisfiedLinkError: com.example.program.ClassName.foo()V
则库本身有问题,因为Java无法将应用程序中的本机Java函数映射到其实际本机副本。
首先,我会在你的System.loadLibrary()呼叫周围记录一些日志,以查看该呼叫是否正常执行。如果它引发异常或不在实际执行的代码路径中,那么你将始终得到UnsatisfiedLinkError上面解释的后一种类型。
loadLibrary()附带说明一下,大多数人使用本机方法将调用放入类中的静态初始化程序块中,以确保始终始终执行一次:
class Foo { static {System.loadLibrary(’foo’); } public Foo() { }}解决方法
如何在我的Web应用程序中加载自定义dll文件?我尝试了以下方法,但失败了。
复制了system32文件夹中所有必需的dll,并尝试在Servlet构造函数中加载其中一个System.loadLibrary在tomcat_home/shared/lib和中复制了所需的dlltomcat_home/common/lib所有这些dll都在WEB-INF/libWeb应用程序中相关文章:
1. MYSQL新建用户设置可以远程访问的问题2. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)3. java - mybatis怎么实现在数据库中有就修改,没有就添加4. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题5. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?6. 各位谁知道这个CSS时候哪里出错了???7. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么8. mysql 5.7单表300万数据,性能严重下降,如何破?9. mysql - SQL操作时间的函数?10. mysql 为何insert的时候会有lock wait timeout 异常
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)