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

Ambari 2.7.5编译ambari-metrics-timelineservice依赖解析失败求解

问题原因分析

你遇到的报错存在两个核心诱因:

  1. Maven 3.8.1及以上版本默认内置了maven-default-http-blocker规则,禁止从HTTP协议的公共仓库拉取依赖,你用到的hwx-public、apache.snapshots仓库均为HTTP链接,因此被直接阻断访问。
  2. 依赖传递过程中拉取到了org.glassfish:javax.el:jar:3.0.1-b06-SNAPSHOT这个历史快照包,当前公有仓库已下线该版本,无法正常获取。
解决方案

按以下步骤操作即可解决问题:

  • 调整Maven配置解除HTTP阻断或替换为HTTPS仓库地址
    打开Maven安装路径下的conf/settings.xml文件,两种方案二选一:
    • 注释掉maven-default-http-blocker相关的mirror配置
    • 把用到的两个仓库地址替换为HTTPS协议版本:
      hwx-public替换为https://repo.hortonworks.com/nexus/content/groups/public/
      apache.snapshots替换为https://repository.apache.org/snapshots
  • 强制指定正式版javax.el依赖,避免拉取过期快照包
    在apache-ambari-2.7.5-src/ambari-metrics/ambari-metrics-timelineservice/pom.xml的<dependencies>节点最顶部添加如下强制依赖配置:
<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.el</artifactId>
    <version>3.0.1-b06</version>
</dependency>

该正式版本与你拉取不到的快照版功能完全兼容,所有公共仓库都支持正常拉取。

  • 清理历史编译缓存后重新执行编译
    进入Ambari源码根目录执行命令:mvn clean install -DskipTests -Drat.numUnapprovedLicenses=100

如果仍存在依赖拉取过慢或失败的情况,可以额外在pom.xml的仓库配置中添加国内公共镜像仓库,覆盖绝大多数开源依赖。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 22:45:05