1

我写了一个java应用程序。它依赖于 Nmap、Wireshark 和其他命令行工具,它们通过 Windows 上的 DOS 提示符调用。

如果我想为应用程序制作安装程序,如何确保 Nmap 和 Wireshark 已安装在用户的计算机上,并且 Windows“路径”环境变量已使用它们的安装目录进行更新,这样当我调用来自我的应用程序的 DOS 提示,命令执行正确吗?

4

1 回答 1

0

您可以使用ProcessBuilder类来检查应用程序是否已经存在。只需通过命令行运行查询,例如:

ftype | find "Wireshark"

并检查返回的字符串,它要么有wireshark二进制文件的路径,要么有错误消息。一旦它在那里,你可以从这个 abs 路径调用 wireshark 命令。

如果没有,那么您可以将它们打包为打包在您的 jar 文件中的便携式工具。您可以在运行时解压缩此文件,并通过流程构建器调用此工具并运行与wire-shark 相关的任务。nmap也是如此。

我希望这能让你知道如何去做。

于 2012-02-05T00:12:20.620 回答