基于dremio 安装包进行源码依赖包maven 私服重建的一个思路

dremio 25.0 版本已经发布了,但是如果希望自己源码构建,但是缺少一些依赖造成编译会有问题,但是我们可以直接基于官方提供的
下载包的文件进行maven 私服的重建,以下说明下简单流程

参考流程

  • 下载软件包

这个可以从dremio 官网下载到

  • 最好选择一个可以构建的分支本地构建下

此步骤的目的是缺少dremio 老版本的一些依赖本地有缓存信息,这样可以参考

  • 阅读dremio oss 根目录的pom.xml 文件

此文件包含了dremio 自己fix 的三方依赖包,也就是我们需要处理的,一般格式是version比较长或者包含dremio 结尾的

  • 分析缺少的包

这个是一个体力活,需要多次验证测试,才能知道那些包是缺少的,记录下

  • 使用一些ide 工具(idea,或者jd-gui) 查看依赖包的元数据信息

实际上就是pom.xml 的获取,如果是没有依赖的比较方便,如果有依赖的注意查看依赖

  • 使用mvn install 命令安装缺少的jar 到本地私服中

注意此步中可能会包含缺少parent 依赖的问题,此步没有太好的方法,核心是参考以前的,进行复制修改(核心是版本号)
参考命令 

mvn install:install-file -Dfile=parquet-arrow-1.12.0-202401170902060351-7e47493.jar  -DgroupId=org.apache.parquet -DartifactId=parquet-arrow -Dversion=1.12.0-202401170902060351-7e47493  -Dpackaging=jar  -DpomFile=./meta/parquet-arrow.xml

测试包的install

mvn install:install-file -Dfile=parquet-hadoop-1.12.0-202309080020000384-9c11bcb-tests.jar  -DgroupId=org.apache.parquet -DartifactId=parquet-hadoop -Dversion=1.12.0-202401170902060351-7e47493  -Dpackaging=test-jar  -Dclassifier=tests 

注意以上的-DpomFile 中的元数据信息就是我们参考jar 中的,以及按需修改的(尤其是多模块的,实际上我们注意处理的都是多模块啊的,主要是parent 依赖的处理,修改为实际使用的版本)

  • 重新尝试构建

这个估计得尝试多次,因为缺少那些依赖实际上是不清楚的,只能多次尝试

  • 多余一些无关紧要的模块可以注释掉

比如hive 相关的,一些场景我们可能使用不到,直接注释,可以规避一些问题

说明

以上是一个简单实践,通过此方法基本可以本地构建成功,方便分析学习,但是可能会有问题不确保运行正常,实际还是应该等官方的repo 可用,如果是临时fix 功能,此中方法也是可以的,之后通过替换class 文件或者jar 文件都是可以的

参考资料

https://download.dremio.com/
https://github.com/dremio/dremio-oss
https://stackoverflow.com/questions/33548395/how-do-i-force-maven-to-use-my-local-repository-rather-than-going-out-to-remote
https://maven.apache.org/guides/introduction/introduction-to-repositories.html

posted on   荣锋亮  阅读(56)  评论(7编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~
历史上的今天:
2023-04-11 arroyo sql 处理
2023-04-11 arroyo single docker 镜像说明
2023-04-11 arroyo 开发说明
2023-04-11 arroyo集群部署简单说明
2023-04-11 arroyo 组件简单说明
2023-04-11 arroyo+redpanda 集成试用
2021-04-11 cube.js 配置自定义basePath 扩展cube.js 多租户处理

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示