美文网首页
【采坑记录】gradle publishToMavenLocal

【采坑记录】gradle publishToMavenLocal

作者: 天演师 | 来源:发表于2020-07-17 16:03 被阅读0次

基础环境

IntelliJ IDEA Community Edition 2020.1.3
Springboot 2.3.1
jdk 1.8
gradle 6.5
本地maven仓库地址:D:/maven

起因

项目准备引用gradle来管理包依赖,使用maven项目转成gradle后,为了使用已存在的maven-bom来管理依赖包版本,所以需要将maven-pom(以下称parent-bom)进行发布到本地仓库测试,发布后使用gradle引用parent-bom 进行bulid的时候发现找不到该文件

问题描述

使用maven本地仓库做测试,将maven-bom install到本地仓库中,并未发布到私服(发布到私服,地址和配置一致应该不会有问题)
reimport包的时候,所有依赖的包都下载到了 本地仓库D:/maven,但是install parent-bom的时候发现发布到的本地目录为:C:\Users\xxxx.m2\repository。gradle bulid的时候找的还是D:/maven目录自然无法找到install到本地的parent-bom

问题分析

参考:https://stackoverflow.com/questions/32107205/gradle-does-not-use-the-maven-local-repository-for-a-new-dependency
网上查询问题及资料,发现gradle读取setting文件的顺序是:USER_HOME/.m2 >M2_HOME/config > USER_HOME/.m2/repository ;

  1. 查看USER_HOME/.m2 目录,发现无setting.xml
  2. 查看M2_HOME/config 发现有setting.xml文件,但是没做任何配置
  3. 查看USER_HOME/.m2/repository ,发现无setting.xml
    setting.xml 没有配置本地仓库地址,则默认仓库地址为 USER_HOME/.m2/repository

问题处理

问题已经定位,那我们只要设置setting.xml的本地仓库就可以了,因为M2_HOME/config 下已经有setting.xml文件所以就直接修改:

<localRepository>D:\maven</localRepository>

重新install parent-bom,发现包还是发布在:USER_HOME/.m2/repository下。嗯哼?不是说逐层找setting.xml根据配置来的吗???????小朋友是有很多问好啊????
【最终】将M2_HOME/config下的setting.xml 复制到USER_HOME/.m2 目录下,重新install ,问题解决

总结

虽然最终解决了问题,但是不知道是不是我理解的问题,按理说应该是能找到我M2_HOME/config/setting.xml的,但实际上只能找到USER_HOME/.m2/repository的

补充:

  1. 本地环境中的 GRADLE_USER_HOME 和 GRADLE_HOME 和 M2_HOME这些环境变量都是配置好的
  2. 环境变量修改有时候重启idea无法生效,重启电脑才可以。。。。。。。

相关文章

  • 【采坑记录】gradle publishToMavenLocal

    基础环境 IntelliJ IDEA Community Edition 2020.1.3Springboot 2...

  • maven命令

    maven命令 gradle clean build publishToMavenLocal

  • 【采坑记录】maven项目转gradle

    起因: 原来项目基本都是基于maven来管理,但是随着boot大哥的不断更新及市面上也大部分转用gradle,公司...

  • 采坑记录

    一、访问页面报502错误 常见问题: 最大可能是应用启动报错,没有启动起来 应用虽然起来了,但是由于遇到运行时er...

  • 使用自己写的工具包

    1.在gradle种增加插件 2.发布的坐标信息 3.执行publishToMavenLocal 使用1.加一个本...

  • element 复选框点击一个全部选中bug

    因为有坑记录下先给出代码在细说 别的我就不说了,采坑记录下。

  • arraylist采坑记录

    而最近,看到一个以前的同学写的一段代码就是在循环过程中删除元素,我很是纳闷啊。然后后来决定给他改掉。然后引发了另外...

  • iOS采坑记录

    采坑记录 iOS 通过 Webview点击下载链接问题 Webview点击下载链接,需要通过文件名下载文件,需要通...

  • RecyclerView采坑记录

    今天使用RecyclerView过程中遇到了坑,RecyclerView的条目中既有checkbox,又有edit...

  • swagger采坑记录

    一、swagger-ui.html正常显示但doc.html空白 注意:我的doc.html不是404,说明在后端...

网友评论

      本文标题:【采坑记录】gradle publishToMavenLocal

      本文链接:https://www.haomeiwen.com/subject/bsmghktx.html