Yat*_*oel 8 java dll classpath jacob
I am using Jacob jar file in my java application.
This Jacob jar file comes with a .dll file. I have added Jacob jar file to my classpath. But when I execute my application a runtime error occurs as
"couldn't load jacob-1.15-M3-x86.dll file"
How can I load this .dll file?
Edited:=================================================================================
I had set the "path" environment varaible to the dir that contains my .dll file and loading that .dll file as follows
static {
    System.loadLibrary("jacob-1.15-M3-x86.dll");
}
but the following error occured
    java.lang.UnsatisfiedLinkError: no jacob-1.15-M3-x86.dll in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
    at java.lang.Runtime.loadLibrary0(Runtime.java:823)
    at java.lang.System.loadLibrary(System.java:1028)
    at TemplateClass.TemplateClass.<clinit>(TemplateClass.java:14)
Chr*_*ail 10
'jacob-1.15-M3-x86.dll'需要位于操作系统可以找到的位置.你有几个选择:
您可以将.dll文件放在启动应用程序的目录中.如果您有一个批处理脚本来启动您的应用程序,它将是该目录.如果您从某种应用程序服务器开始,它通常是'bin'目录.
您可以将.dll文件放在%PATH%环境变量中的某个位置.我可能更容易更新您的PATH环境变量以包含包含.dll文件的目录.
另一种方法是将.dll放入%SystemRoot%\ system32目录.通常这是'C:\ Windows\system32'.除非它是MSCVRT运行时之类的共享库,否则通常不建议使用此选项.
您可能遇到的另一个可能的问题.如果.dll编译为32位,那么您必须在32位Java运行时中运行.同样,如果它是64位.dll,则需要在64位JRE中运行.
啊,这不是编译错误,而是运行时错误.
我的猜测是你的DLL需要在PATH.不是CLASSPATH,但是PATH,因为那是Windows寻找DLL的地方.尝试扩展PATH以包含DLL的位置,或者执行许多其他人的操作:将DLL转储到\Winnt\System\System32您的盒子上或系统目录中调用的任何内容.换句话说,所有其他DLL都在哪里.
更新
谢天谢地,您发布的错误消息指出了确切的问题.您可以通过将包含DLL的目录放入java.library.path此Sun论坛中来解决此问题.线程显示了一个很好的示例:http://forums.sun.com/thread.jspa?threadID = 627890
实际上,这比它应该的要干净得多; 这似乎是Java中"阴影"的一个领域.线程徘徊很多,我建议你一直阅读,看看有些问题和解决方案.我想你可以通过一些试验和错误取得成功.
| 归档时间: | 
 | 
| 查看次数: | 31956 次 | 
| 最近记录: |