您的位置:

java解析dll文件报错,java程序编译后产生dll

本文目录一览:

如何解决java调dll报Unable to load library的错误

解决java调dll报Unable to load library的错误可以尝试以下方法:

载入库文件有两个函数,System.load 和 System.loadLibrary。

当使用System.load时,需要输入文件的全路径,例如:System.load(“/tmp/test.so”);

当使用System.loadlibrary时是在系统的library 的目录中需找复合条件的库文件,可以使用-Djava.library.path=[path]参数,来指定Java程序加载库文件的路径,或者将库文件(*.so,*.dll)复制到include的默认路径,Linux一般是/usr/lib目录下,当然你可以编辑/etc/ld.so.conf.d/下的文件,设定自己的库查找路径ldconfig -v|grep xxx看看有没有你的动态库。

Linux还要注意,使用System.loadLibrary(name)方法其中参数内容与Windows有区别,Linux中的的库文件名为libname.so,Windows为name.dll。

在Windows中尽量使用Windows的C/C++编译器生成dll文件,否则会出现问题。

不过具体问题还要具体对待!

带包名java类运行时调用dll报错,dll能加载,但是执行dll中的方法时报错!求解?

嗯 之前也遇到过你这样的问题

第一种方案呢,就是根据源码,把它原来加载dll文件那块修改一下 具体请参见 System.load 和 System.loadLibrary详解

第二种方案,也不太推荐,因为我们做的项目,到客户那边实施的时候太麻烦,就是将dll文件考到java 的path下 例如我的 就拷贝到C:\Program Files (x86)\Java\jre7\bin 这个路径下,个人推荐第一种方案

Java调用DLL文件,第一次时正常可以使用,第二次的时候报错“此文件已在另一个中加载”

1.0将调用的.Java类文件打包成.jar文件

2.0将打包好的.jar文件Tomact的lib文件夹下,这样整个项目中调用的dll文件只被调用一次