Mac环境构建StarRocks FE失败 提示spark-dpp依赖缺失如何解决
Mac环境构建StarRocks FE模块失败解决方案
问题现象
构建过程中FE模块抛出依赖解析错误,构建中断,核心报错日志如下:
[INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:19 min [INFO] Finished at: 2022-06-14T08:39:27+08:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project fe-core: Could not resolve dependencies for project com.starrocks:fe-core:jar:3.4.0: com.starrocks:spark-dpp:jar:1.0.0 was not found in https://mirror.iscas.ac.cn/kunpeng/maven/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of kunpeng has elapsed or updates are forced -> [Help 1]
当前环境信息
- 操作系统:Mac
- Java版本:
openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
- Maven配置:使用鲲鹏Maven镜像源
故障原因
com.starrocks:spark-dpp:jar:1.0.0是StarRocks源码自带的内部模块,不会发布到公网Maven镜像源,鲲鹏镜像源本身不存在该依赖包,直接拉取必然失败- 之前拉取该依赖失败的结果已经被本地Maven仓库缓存,在默认更新间隔到期前,Maven不会重新尝试解析该依赖,直接返回缓存的失败结果
解决步骤
- 第一步:清理本地缓存的失败依赖记录
执行命令删除对应无效缓存目录:rm -rf ~/.m2/repository/com/starrocks/spark-dpp/1.0.0该操作仅清除该依赖的拉取失败缓存标记,不会影响本地仓库中其他正常可用的依赖包
- 第二步:编译安装内部依赖到本地Maven仓库
不要直接单独进入FE模块目录执行构建,回到StarRocks源码根目录,先执行全量编译安装,把spark-dpp等内部模块安装到本地仓库:mvn clean install -DskipTests如果不需要编译全量组件,也可以先进入spark-dpp模块所在目录执行
mvn clean install -DskipTests,完成后再回到FE目录执行FE模块构建 - 第三步(可选):强制更新依赖校验
如果执行上述操作后还是提示依赖解析错误,构建时增加-U参数强制Maven跳过缓存更新所有依赖:mvn clean package -DskipTests -U
补充说明:当前使用的JDK17版本适配StarRocks 3.4.x版本的构建要求,不需要额外切换JDK版本
内容的提问来源于stack exchange,提问作者Alvin
相关产品推荐
相关产品推荐

