您的位置:首页 > 编程语言 > Java开发

java 调用C动态库异常:

2017-08-15 00:00 363 查看
摘要: Caused by: java.lang.UnsatisfiedLinkError: 找不到指定的模块

`
java 调用C 动态库异常解决案例:
用Java调用C动态库写了一个接口,在自己电脑上测试没有问题,但是放到Windows Server2008 上后调用总是报错,错误信息如下:
Caused by: java.lang.UnsatisfiedLinkError: 找不到指定的模块。

at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:288)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:427)
at com.sun.jna.Library$Handler.<init>(Library.java:179)
at com.sun.jna.Native.loadLibrary(Native.java:528)
at com.sun.jna.Native.loadLibrary(Native.java:503)...........

首先在服务器上安装了vcredist_vs2013_x64 的C++ 库可是还报错,
网上好多说法是文件位置错误和方法定义不对应,但如果存在这些问题在自己电脑win7 系统上也应该报同样错啊。

后来发现改为release 版本的动态库就没问题了;
总结:
在windows server 系统上需要用release 生成的动态库文件,而我用的是debug方式生成的,我用的是windows server 2008 ,我想windows server 2012 应该也是同理;服务器上默认应该是不支持调试类型的动态库;

补充:安装完vcredist_vs2013_x64 需要重启机器;
`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UnsatisfiedLinkError