如何通过maven和child监视网络连接



我们有一个运行几个集成测试的Maven项目。一些测试涉及生成子进程,如HSQLDB数据库,但也可能是任何maven插件可能打开到我不知道的地方的套接字连接。这导致在持续集成服务器的限制环境中运行测试时,出现了大量连接失败的日志,而在我的本地机器中一切都很顺利。

我如何跟踪给定的Maven脚本及其所有子脚本打开的所有连接?

参见https://unix.stackexchange.com/questions/30046/logging-outgoing-connections-as-they-happen了解如何按进程跟踪网络连接。

但是对于Maven,大多数连接可能是检查SNAPSHOT依赖项的状态。

要解决这些问题,你应该在你的网络中设置一个Maven代理(如Nexus),然后告诉Maven通过该代理解析所有依赖项。这将使外部连接减少到几乎为0。

mvn -X(启用调试模式)也应该有所帮助。

将输出写入日志文件并grep http:

我不确定我理解,但是要在构建项目时查看开发机器上的所有网络活动,请使用wireshark或tcpdump。