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

构建ranger-2.3分支ranger-solr-plugin依赖解析失败问题求助

问题根因

报错核心原因是Maven 3.8及以上版本默认内置了HTTP仓库拦截机制,所有走HTTP协议的外部第三方仓库都会被默认拦截。你构建时拉取失败的org.restlet.jee:org.restlet:2.3.0依赖所属的maven-restlet仓库是HTTP协议,正好命中拦截规则,和Ranger版本、JDK版本没有关系,构建2.2.0、2.3.0分支只要用Maven3.8+版本都会触发相同问题。

可行解决方法
  • 方案1:修改本地Maven配置放行需要的HTTP仓库
    找到本地Maven配置文件,路径可以是Maven安装目录下的conf/settings.xml,也可以是用户目录下.m2/settings.xml,定位到<mirrors>节点下的maven-default-http-blocker配置块,要么直接注释掉整个HTTP拦截配置,要么在拦截规则的mirrorOf字段里排除需要放行的仓库ID。
    默认的拦截配置如下:
    <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*</mirrorOf>
      <name>Pseudo repository to block HTTP external repositories</name>
      <url>http://0.0.0.0/</url>
      <blocked>true</blocked>
    </mirror>
    
    修改mirrorOf配置,排除报错里提到的两个HTTP仓库即可:
    <mirror>
      <id>maven-default-http-blocker</id>
      <mirrorOf>external:http:*,!maven-restlet,!apache.snapshots</mirrorOf>
      <name>Pseudo repository to block HTTP external repositories</name>
      <url>http://0.0.0.0/</url>
      <blocked>true</blocked>
    </mirror>
    
    配置修改完成后重新执行原构建命令即可正常拉取依赖。
  • 方案2:降级Maven版本
    换用Maven 3.6.3及更早的稳定版本搭配现有OpenJDK8环境构建,这些版本没有内置HTTP仓库全局拦截规则,不需要额外修改配置就能正常拉取依赖完成构建。
预编译包获取说明

Apache Ranger官方在每个正式版本发布时,都会同步提供预编译好的二进制安装包,不需要自行从源码构建。所有正式发布版本的安装包都托管在Apache官方归档站点中,包含SOLR Security Plugin在内的所有组件、插件的可用jar包,下载对应版本的二进制压缩包解压后即可直接使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 22:18:32