SonarQube Scanner上传报告超时:Socket及EOF异常求助
解决SonarQube报告上传超时(10秒中断)问题
从你提供的日志和测试情况来看,这个问题的核心是SonarQube客户端默认的上传超时时间为10秒,当项目报告文件较大、上传耗时超过这个阈值时,就会触发Socket超时中断。下面针对你使用的两种扫描方式,分别给出调整超时的解决方案:
一、Maven sonar:sonar 目标的超时调整
你可以直接在Maven命令中添加sonar.ws.timeout参数来设置更长的超时时间(单位为毫秒,比如设置30秒):
mvn sonar:sonar -Dsonar.ws.timeout=30000
如果希望项目默认生效,也可以把这个参数加入到项目pom.xml的<properties>节点中:
<properties> <!-- 设置SonarQube Web服务超时为30秒 --> <sonar.ws.timeout>30000</sonar.ws.timeout> </properties>
二、独立sonar-scanner工具的超时调整
方式1:修改配置文件
找到sonar-scanner安装目录下的conf/sonar-scanner.properties文件,添加或修改以下配置项:
# 设置Web服务超时为30秒 sonar.ws.timeout=30000
方式2:命令行指定参数
在执行扫描命令时直接传入超时参数:
sonar-scanner -Dsonar.ws.timeout=30000
三、服务器端的补充调整(可选)
如果调整客户端超时后仍然出现问题,可能需要同步调整SonarQube服务器端的Tomcat连接超时设置:
- 打开SonarQube安装目录下的
conf/server.xml文件 - 找到
<Connector>节点,修改connectionTimeout属性(同样以毫秒为单位):
<Connector port="9000" protocol="HTTP/1.1" connectionTimeout="30000" redirectPort="8443"/>
- 重启SonarQube服务器使配置生效
额外排查建议
本地上传耗时久的问题,你可以检查下这几点:
- 扫描生成的
.scannerwork目录所在磁盘的读写性能,慢磁盘会拖慢报告生成和上传速度 - 暂时关闭本地杀毒软件、防火墙或其他安全工具,这类工具可能会拦截/减慢本地文件传输
- 检查SonarQube服务器的资源使用情况(CPU、内存),资源不足也可能导致处理请求缓慢
调整后重新扫描项目,应该就能解决超时中断的问题了。
内容的提问来源于stack exchange,提问作者CrazyPenguin
相关产品推荐
相关产品推荐

