平台: Windows xp sp2
JDK: 1.6u3
背景: 做一台自助终端,该终端自带一个凭条打印机(热敏,驱动由厂家提供,libPrint.dll),由于整体项目要求,需要使用B/S结构进行开发,于是方案为使用applet通过JNI调用libNative.dll(自己根据JNI要求开发,VC++ 2008),libNative.dll通过静态引用lib的方式调用打印机驱动libPrint.dll。情况:无论通过applet还是写控制台应用的方式,均抛出 java.lang.UnsatisfiedLinkError 错误,
applet下:
java.lang.UnsatisfiedLinkError: HotmInterface.OpenPrinter([B[B)I
at HotmInterface.OpenPrinter(Native Method)
at test.OpenPrinter(test.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...(略)应用程序方式:
Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\test\libNative.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.Runtime.load(Unknown Source)
at HotmInterface.<clinit>(HotmInterface.java:7)
at testc.OpenPrinter(testc.java:19)
at testc.main(testc.java:98)以下是我做过的尝试,请参考:
1、所有的DLL库均复制到 C:\windows\system32 及 应用目录
2、Applet 安全权限已放开很急很急的问题,请用力讨论啊。谢谢了啊
JDK: 1.6u3
背景: 做一台自助终端,该终端自带一个凭条打印机(热敏,驱动由厂家提供,libPrint.dll),由于整体项目要求,需要使用B/S结构进行开发,于是方案为使用applet通过JNI调用libNative.dll(自己根据JNI要求开发,VC++ 2008),libNative.dll通过静态引用lib的方式调用打印机驱动libPrint.dll。情况:无论通过applet还是写控制台应用的方式,均抛出 java.lang.UnsatisfiedLinkError 错误,
applet下:
java.lang.UnsatisfiedLinkError: HotmInterface.OpenPrinter([B[B)I
at HotmInterface.OpenPrinter(Native Method)
at test.OpenPrinter(test.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...(略)应用程序方式:
Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\test\libNative.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.Runtime.load(Unknown Source)
at HotmInterface.<clinit>(HotmInterface.java:7)
at testc.OpenPrinter(testc.java:19)
at testc.main(testc.java:98)以下是我做过的尝试,请参考:
1、所有的DLL库均复制到 C:\windows\system32 及 应用目录
2、Applet 安全权限已放开很急很急的问题,请用力讨论啊。谢谢了啊
解决方案 »
- 如何重写hashcode()方法
- 我在我的frame中放置了两个Splitpane,三个panel,每个panel中放了一个jtable,但是拖动不了,不知是为什么
- JMX问题请教:
- 使用installshield multiplatform5.0在添加删除程序面板中图标显示的问题
- 如何最具效率的从一个set列表里抽取一个元素
- eclipse 插件开发问题
- [200分]能否给一个关于关于多线程synchronized应用的例子,确切体现也多线程的同步应用,我是新手请关照一下,例子最好能看到效果!!
- 一道题目:java内存分配类型有哪几种?
- 送分~~~~~~~~~停止线程的方法。
- 招募斑竹。
- java打包项目出错.
- 有关字符串分割问题
明显没有找C:\windows\system32下的libNative.dll啊
最好把ie关掉再测下
我清空了IE的临时文件,现在两种方式都报 Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\test\libNative.dll: Can't find dependent libraries
了。证明java可以找到libNative.dll,如果不能找到,会报 no libNative.dll in java.library.path 输出 java.library.path 结果如下:
C:\Program Files\Internet Explorer;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS ...(后面略)
用VC里面的工具depends可以看到libNative依赖哪些dll