我正在尝试设置一个使用 jpcap 的项目来检测网络流量。我已经尝试了各种方法来让它工作,但是每种方法都以错误告终。我运行 Windows 64 位,但这是我所做的:
- 已安装的 winpcap
- 已安装的 jpcap
- 已将 jpcap.dll 复制到 JRE 目录(程序文件/JRE 和程序文件 (x86)/JRE)
- 已将 jpcap.jar 复制到 JRE 目录/lib/ext
- 已将 jpcap.jar 复制到 JDK 目录
完成所有这些操作后,我将 jpcap.jar 添加到我的构建路径中。当我尝试编译一个简单的行时,我得到错误:
线程"main"java.lang.UnsatisfiedLinkError中的异常:jpcap。JpcapCaptor.getDeviceList()[Ljpcap/NetworkInterface;
在另一个版本的 eclipse 中,我收到一个不同的错误,遵循相同的步骤:
线程"main"中的异常 java.lang.UnsatisfiedLinkError: C:\Program Files\Java\jre7\bin\jpcap.dll:无法在 AMD 64 位平台上加载 IA 32 位.dll
我在这两种情况下使用的代码行是:
list = JpcapCaptor.getDeviceList();
任何帮助使这项工作将不胜感激!谢谢
是的,您必须为 64 位重新编译 DLL。你唯一的其他 选项是切换到 32 位 JVM,或者获得一些 32 位 代表您加载 DLL 并与之通信的过程 以某种方式处理。
从这里提取