私はJavaアプリを書きました。これは、WindowsのDOSプロンプトを介して呼び出すNmap、Wireshark、およびその他のコマンドラインツールに依存します。
アプリのインストーラーを作成したい場合、NmapとWiresharkがユーザーのコンピューターにインストールされ、Windowsの「パス」環境変数がインストールディレクトリで更新されていることを確認するにはどうすればよいですか。私のアプリからのDOSプロンプト、コマンドは正しく実行されますか?
ProcessBuilderクラスを使用して、アプリケーションが既に存在するかどうかを確認できます。コマンドラインで次のようなクエリを実行するだけです。
ftype | find "Wireshark"
返された文字列を確認します。wireshark バイナリまたはエラー メッセージへのパスが含まれます。そこにあると、この abs パスから wireshark コマンドを呼び出すことができます。
そうでない場合は、jar ファイルにパッケージ化されたポータブルツールとしてパッケージ化できます。実行時にこのファイルを解凍し、プロセス ビルダーを介してこのツールを呼び出し、wire-shark 依存タスクを実行できます。同じことがnmapにも当てはまります。
これがあなたにそれをどうやって進めるかのアイデアを与えることを願っています.