0

いくつかの統合テストを実行する Maven プロジェクトがあります。一部のテストには、HSQLDB データベースのような子プロセスの生成が含まれますが、Maven プラグインのいずれかが、私が認識していない場所へのソケット接続を開いている可能性もあります。これは、継続的インテグレーション サーバーの監獄環境でテストを実行すると、失敗した接続のログが多数表示される一方で、ローカル マシンではすべてがスムーズに進むことを引き起こします。

特定の Maven スクリプトとそのすべての子スクリプトが開くすべての接続を追跡するにはどうすればよいでしょうか?

4

2 に答える 2

1

プロセスごとにネットワーク接続をトレースする方法については、 https://unix.stackexchange.com/questions/30046/logging-outgoing-connections-as-they-happenを参照してください。

しかし、Maven の場合、ほとんどの接続はおそらくSNAPSHOT依存関係のステータスをチェックするためのものです。

これらを修正するには、ネットワークに Maven プロキシ ( Nexusなど) を設定し、そのプロキシを介してすべての依存関係を解決するように Maven に指示する必要があります。これにより、外部接続がほぼ 0 に減少します。

またmvn -X、(デバッグモードを有効にする)が役立つはずです。出力をログ ファイルに書き込み、grep を実行しますhttp:

于 2013-05-03T10:45:34.177 に答える
0

よくわかりませんが、プロジェクトのビルド中に開発マシンですべてのネットワーク アクティビティを確認するには、wireshark または tcpdump を使用します。

于 2013-05-03T10:13:43.737 に答える