2 dandan3501 dandan3501 于 2014.08.21 21:01 提问

java 用jna调用dll库问题

昨天接手一个新项目,是关于java调用dll的,用jna实现,在我本机上运行成功,今天换了台电脑,就出现了EXception in main thread java.lang.UnsatisfiedLinkError UNable to load library..........请问有谁知道原因啊?急。

3个回答

xiaoxiao_shenle
xiaoxiao_shenle   2014.08.21 21:49

目测是需要加载的dll位置不对 你再看看啦

Heathersheng
Heathersheng   2015.04.14 10:39

使用JNA通常会遇到不能加载的问题,这一般是应为dll文件没有放在正确的位置导致的。
1:dll文件要放到项目路径下;
2:把dll文件放到库文件路径下,执行这句代码 System.out.println(System.getProperty("java.library.path"));
然后把dll文件copy到任意一个路径下

  3:dll名字好像不能带有“_”(这个是我自己遇到的一个问题,仅供参考)
dandan3501
dandan3501   2014.08.21 21:04

dll已经放到system32
下了,还是一样出错

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
JNA调用dll\so文件的路径问题和测试样例。
JNA调用dll\so的路径问题和测试样例 本文主要几点内容如下:     1.jda具体的放置路径     2.jdk切换     3.测试代码     此文就是便于自己以后回顾使用,所以就不罗嗦jda和jdi直接的区别了。     我在使用jda的时候,也是按照网上的教程做测试,但是不管怎么放置我的dll都是不能加载此模块的问题。(有些教程感觉很坑)费了好大的功夫最后查到存在以下
使用JNA调用DLL函数遇到的问题
在项目中需要使用JAVA调用DLL函数,搞了几天终于搞通了,赶紧把理解的重要内容记录下来。 使用DLL函数查看器进行查看函数名称及各参数 本例子就拿GetMac函数进行举例,记事本中为在VB环境中调用此函数的函数声明 此函数只有一个参数,通过传入字符串类型的IP地址,可以得到对应IP地址的MAC地址 因为传入参数为Long整形,故猜测应该传入的类型为指针类型,在JNA中对应
Java工作笔记:工作中使用JNA调用C++库的一些细节
1.调用本地接口: 先看最基本的调用代码:public interface testFunction extends Library{ testFunction INSTANCE = (testFunction) Native.loadLibrary(Platform.isWindows() ? "win_sdk" : "linux_sdk", testFunction.class)
java调用动态库时,.dll文件路径问题
网上说”.dll”应该放在”.class”同级目录下,但经测试,程序报错: “java.lang.UnsatisfiedLinkError: no JniDllDemo in java.library.path” 当放到java工程同级目录时,一个例子可以调用: 当我调用vtk测试用例时,却又显示“no java.library.path”。后期这样解决的: 1.右击项目,从弹出的右
设置JNA库路径
使用JNA加载第三方库时,首先,要设置库路径,即dll文件所在的目录。在Java命令行中通过配置VM参数设置JNA库路径,如下所示-Djna.library.path="e:\libs" 如果包含多个路径,可以用分号分开,如-Djava.library.path="${workspace_loc:project}\lib;${env_var:PATH}" 在Elipse中,可按照如下方式配置 右击项
JNA调用C动态库dll、so
JNA调用C动态库dll、so 1.介绍jna           JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native
Java框架JNA调用C方法(windows链接库dll文件、linux链接库so文件)
介绍 给大家介绍一个最新的访问本机代码的Java框架—JNA。 JNA(Java Native Access)框架是一个开源的Java框架,是SUN公司主导开发的,建立在经典的JNI的基础之上的一个框架。 JNA项目地址:https://jna.dev.java.net/ 非常强大、易用,功能上类似与.NET的P/Invoke。     不堪回首的JNI 我们知道,
JNA方式调用dll动态库
java调用dll较为常用的方式有JNA和JNI,JNA方式较为简便。 附代码:
Java 通过 JNA 调用 DLL 返回 char * 字符串乱码问题的解决
最近一个 Java 项目需要调用公司的读卡器读取卡号。C 开发提供了一个读取卡号的 DLL。     Java 调用 DLL 无非三种方法:JNI、JNA、JNative     本来 C 开发测试时用了 JNative.jar 来调用 DLL,但是网路上的 JNative.jar 都是基于 32 位系统,其 jar 包中的两个 DLL 也均为 32 位。     在我本地尝试时都报错:
Java工作笔记:部署Tomcat时使用jni和jna调用DLL文件的问题
部署Tomcat时使用jni和jna调用DLL文件的问题 我的前一篇博客提到,我们公司项目的restful框架中要用到底层的DLL C++库,最后经过测试验证结果选择采用JNA方法来调DLL库。之后基础框架在IDEA中的jetty服务中调试成功,但是在部署到Tomcat上时出现了无法加载DLL库的状况,只能现学现卖了。 一.        把DLL文件放在Tomcat下