我想在个人项目中使用这个 jar 文件( http://sourceforge.net/projects/uirt-j/ )。目前,我一直在使用 Eclipse 并尝试使用Project > Java Build Path > Add External JARs来导入该 jar。
导入后,我可以看到 Eclipse 中列出的该包中的所有类,但是,这个 jar 还包含两个 win32 dll 文件,需要与设备通信。我试图将它们添加到System32目录,但没有运气。当该代码运行时,它会引发以下异常:
Exception in thread "main" java.lang.UnsatisfiedLinkError:
C:\Windows\System32\util_USBUIRT.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.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at util.USBUIRT.<clinit>(USBUIRT.java:269)
at Uirt.main(Uirt.java:6)
使用dependence walker,我可以看到所有正确链接的dll都可以导入。
这是我试图运行的代码片段:
import util.USBUIRT;
public class Uirt {
public static void main(String[] args) {
String code = "0000";
try {
USBUIRT.transmitIR(code, 2, 3, 2);
} catch (Exception e) {
e.printStackTrace();
}
}
}
如果该 JAR 文件是独立执行的,它可以正常工作。我当前的设置在 Windows 7 64 位下运行。