我似乎有一个奇怪的问题,这很可能是由于不了解在 java 中包含其他库是如何工作的。
我编写了一个jnetpcap.jar
用于处理 pcap 文件的程序。当我从 Eclipse 启动应用程序时,它运行良好,并且通过导出可运行的 jar(将所需的库复制到子文件夹)也工作了很多次。它甚至可以在其他计算机上运行。如jnetpcap doc中所述,运行Windows的计算机已放入jnetpcap.dll
(C:\Windows
根据每台机器上的x86或x64 dll)
无论如何,以下场景可以在我和其他机器上重现:
- 运行完整的 Eclipse 项目工作
- 从 cmd
java -jar pcapdump.jar
运行 double-click jar
gui 等工作 - 但“主要工作”没有完成,所以没有使用 pcap 文件。
我在日志中看不到任何错误。
eclipse中的配置:
- 添加了外部用户库。指向我本地的 jnetpcap.jar 和 source-jar。
当导出为 runnable-jar 并将库复制到子文件夹时,jnetpcap.jar 被复制到单独的子文件夹中。就像我以前做过很多次一样。
无论如何,今天存在所描述的问题,我不知道我做错了什么或可能出了什么问题。