构建CDO 4.10.0时遇org.apache.http.NoHttpResponseException错误求助
解决CDO 4.10.0源码构建时的NoHttpResponseException问题
可行修复方案
- 调整Maven HTTP客户端配置
该错误多因Maven的HTTP客户端与服务器的连接超时、重试策略不匹配导致(浏览器的连接逻辑和Maven客户端不同,所以能正常访问不代表Maven可以)。你可以修改Maven的settings.xml(用户目录下的.m2/settings.xml,若不存在则新建),添加以下配置来增强重试能力、调整超时:<settings> <profiles> <profile> <id>http-retry-config</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <maven.wagon.http.retryHandler.count>3</maven.wagon.http.retryHandler.count> <maven.wagon.http.connectionTimeout>10000</maven.wagon.http.connectionTimeout> <maven.wagon.http.socketTimeout>60000</maven.wagon.http.socketTimeout> </properties> </profile> </profiles> <mirrors> <!-- 若download.eclipse.org连接不稳定,可替换为国内镜像 --> <mirror> <id>aliyun-eclipse-mirror</id> <mirrorOf>eclipse-releases,eclipse-snapshots</mirrorOf> <url>https://maven.aliyun.com/repository/eclipse</url> </mirror> </mirrors> </settings> - 替换为HTTPS仓库地址
修改项目pom.xml中所有指向http://download.eclipse.org的仓库地址,替换为https://download.eclipse.org。目前多数服务器对HTTPS的支持更稳定,能避免HTTP协议下的无响应问题。 - 清理缓存后强制更新依赖
执行命令:mvn clean install -U-U参数会强制Maven更新快照依赖,同时清理本地缓存中可能损坏的依赖文件,避免因缓存问题触发重复连接错误。 - 核对Maven版本兼容性
CDO 4.10.0建议使用Maven 3.5.x及以上版本构建,过低的Maven版本可能存在HTTP客户端组件的兼容性问题,升级到对应版本后重试构建。
问题说明
该错误并非完全由远程服务器导致,更多是Maven的Wagon组件(负责HTTP请求)与服务器的交互适配问题。虽然相关的Eclipse问题报告标注已修复,但在CDO 4.10.0的特定构建场景下仍可能出现,上述方案基本能解决这类连接异常。
内容的提问来源于stack exchange,提问作者Ubuntu Learner
相关产品推荐
相关产品推荐

