You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Android应用中使用org.eclipse.aether?遇Apache Http依赖问题求助

解决Android中org.eclipse.aether依赖Apache Http的问题

方案1:引入Android适配版Apache HttpClient

直接添加专门为Android优化的Apache HttpClient依赖,替代系统废弃的组件,这是改动最小的快速解决方案:
在模块级build.gradle中加入:

dependencies {
    implementation 'org.apache.httpcomponents:httpclient-android:4.5.14'
    // 若需处理multipart请求,补充以下依赖
    implementation 'org.apache.httpcomponents:httpmime:4.5.14'
}

该包包含aether-transport-http所需的全部类,无需依赖系统自带的废弃Apache Http API。

方案2:替换为OkHttp驱动的Aether传输实现

如果想遵循Android现代网络最佳实践,可替换Aether的HTTP传输层为OkHttp:

  1. 先添加OkHttp依赖:
dependencies {
    implementation 'com.squareup.okhttp3:okhttp:4.12.0'
}
  1. 实现org.eclipse.aether.spi.connector.transport.TransporterFactory接口,用OkHttp封装HTTP请求逻辑;也可查找开源社区已实现的OkHttp版Transporter,省去自行开发成本。

方案3:迁移到Apache Maven Resolver(Aether官方继任者)

Eclipse Aether已停止维护,官方推荐迁移到Apache Maven Resolver。其HTTP传输模块默认使用HttpURLConnection,完全不依赖Apache HttpClient,适配性更好:

  1. 替换原有Aether依赖为Maven Resolver组件:
dependencies {
    implementation 'org.apache.maven.resolver:maven-resolver-api:1.9.15'
    implementation 'org.apache.maven.resolver:maven-resolver-impl:1.9.15'
    implementation 'org.apache.maven.resolver:maven-resolver-transport-http:1.9.15'
    implementation 'org.apache.maven.resolver:maven-resolver-solver:1.9.15'
}
  1. 调整代码中的API调用——Maven Resolver与Aether API高度相似,大部分逻辑可平滑迁移,长期来看更利于项目维护。

内容的提问来源于stack exchange,提问作者Xiue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 14:30:26