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

一给  金牌会员 | 2024-5-15 08:04:12 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 866|帖子 866|积分 2598

dataease 项目后端的源码编译问题
dataease后端项目,pom里有一个包,无法下载。源码里的定义如下:
项目后端pom定义
  1. <dependency>
  2.     <groupId>org.apache.calcite</groupId>
  3.     <artifactId>calcite-core</artifactId>
  4.     <version>${calcite-core.version}</version>
  5.     <classifier>de</classifier>
  6. </dependency>
复制代码
关于classifier标签,大概用处是,如果一个Maven目次里有多个包,通过这个标签,决定,到底从目次里选择哪个包来引入。
举个例子,如果不加该标签,那么就会从org\apache\calcite\calcite-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关于私仓的定义
  1. <repositories>
  2.     <repository>
  3.         <id>fit2cloud-public</id>
  4.         <name>Fit2cloud Public</name>
  5.         <url>https://repository.fit2cloud.com/repository/fit2cloud-public/</url>
  6.     </repository>
  7. </repositories>
复制代码
那就希奇了,那为什么编译时没生效?
厥后查看我本地maven的setting.xml文件。
  1.     <mirror>
  2.       <id>aliyunmaven</id>
  3.       <mirrorOf>*</mirrorOf>
  4.       <name>阿里云公共仓库</name>
  5.       <url>https://maven.aliyun.com/repository/public</url>
  6.     </mirror>
复制代码
发现,因为我设置了国内镜像,把全部的哀求都拦截了去阿里云公共仓库去下载了,但其实,因为项目要下载的包并不开源,它是处在自己的私有仓里,所以需要放开去该私仓的哀求。针对该私仓,将pom修改如下:
  1.     <mirror>
  2.       <id>aliyunmaven</id>
  3.       <mirrorOf>*,!fit2cloud-public</mirrorOf>
  4.       <name>阿里云公共仓库</name>
  5.       <url>https://maven.aliyun.com/repository/public</url>
  6.     </mirror>
复制代码
再重新编译,OK。
参考资料


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

一给

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表