Erlo

记一次Java源码编译,三方包下载不下来的问题处理

2024-03-25 15:29:18 发布   81 浏览  
页面报错/反馈
收藏 点赞

dataease 项目后端的源码编译问题

dataease后端项目,pom里有一个包,无法下载。源码里的定义如下:

项目后端pom定义


    org.apache.calcite
    calcite-core
    ${calcite-core.version}
    de

关于classifier标签,大概用处是,如果一个Maven目录里有多个包,通过这个标签,决定,到底从目录里选择哪个包来引入。
举个例子,如果不加该标签,那么就会从orgapachecalcitecalcite-core${calcite-core.version}目录找 calcite-core-1.35.5.jar 进行导入 , 如果你加了标签,那么就会找 calcite-core-1.35.5-de.jar来导入。

现在pom飘红,查看本地maven库,找到对应目录,确实没有对应de的包。

找到官网的说明文档:

core-backend 源码引用到 calcite-core 依赖,是 DataEase 基于 Apache Calcite 工程修改后的依赖包,不属于开源部分。该依赖包会持续迭代,并上传到公共仓库中,对社区版源码的编译和使用不会造成任何影响。

说明该包属于不开源部分,所以没有源码包,我们只能从它自己的私仓下载对应的包。

查看pom定义,里面确实有定义拉取 calcite-core 依赖的仓库:

项目里pom关于私仓的定义

    
        fit2cloud-public
        Fit2cloud Public
        https://repository.fit2cloud.com/repository/fit2cloud-public/
    

那就奇怪了,那为什么编译时没生效?

后来查看我本地maven的setting.xml文件。

    
      aliyunmaven
      *
      阿里云公共仓库
      https://maven.aliyun.com/repository/public
    

发现,因为我配置了国内镜像,把所有的请求都拦截了去阿里云公共仓库去下载了,但其实,因为项目要下载的包并不开源,它是处在自己的私有仓里,所以需要放开去该私仓的请求。针对该私仓,将pom修改如下:

    
      aliyunmaven
      *,!fit2cloud-public
      阿里云公共仓库
      https://maven.aliyun.com/repository/public
    

再重新编译,OK。

参考资料

  1. Maven pom.xml 设置 repository 不生效解决方案
  2. Dataease项目

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认