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 回答