我们有一个运行多个集成测试的Maven项目。一些测试涉及产生子进程,如HSQLDB数据库,但也可能是任何maven插件可能正在打开到我不知道的地方的套接字连接。这引发了当在持续集成服务器的监狱环境中运行测试时,出现了大量失败连接的日志,而在我的本地机器中,一切都顺利进行。
如何跟踪给定Maven脚本及其所有子项打开的所有连接?
答案 0 :(得分:1)
有关如何按流程跟踪网络连接的答案,请参阅https://unix.stackexchange.com/questions/30046/logging-outgoing-connections-as-they-happen。
但是对于Maven,大多数连接可能是为了检查SNAPSHOT
依赖关系的状态。
要解决这些问题,您应该在网络中设置Maven代理(如Nexus),然后告诉Maven通过所述代理解析所有依赖项。这应该会将外部连接性降低到接近0。
mvn -X
(启用调试模式)也应该有所帮助。将输出写入日志文件并grep为http:
。
答案 1 :(得分:0)
我不确定,但要在构建项目时查看开发计算机上的所有网络活动,请使用wireshark或tcpdump。