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