Springboot idea 中 maven配置问题,找不到依赖:Could not find artifact xxxx

95 篇文章 12 订阅
5 篇文章 0 订阅

现象:当我们从代码仓拉取新项目时,从该项目的开发同事拿到其maven的settings文件,作为项目的maven配置,为了是能找到工程中所依赖的包,能从远程仓下载下来。 然后本地仓的包,也从同事那边拷贝一份过来,直接运行mvn -install 会显示找不到xxxx包

1、本地我们也已经同步了有包,而且远程仓也是有的,为什么没办法从本地获取。 因为本地的包文件夹中有这个 _remote.repositories 文件。 这个文件存在的意思是, 本地 跟 远程仓库都必须同时存在这个jar包资源才行

     而这里还有一个问题就是idea去跑settings文件时,找到主仓发现没有,就报错了,没去对应的仓库找,我们settings文件是配置了多个仓库,在<mirror><url></url></mirror>位置配置的仓库地址就是其中一个,作为主仓,maven会优先从这个仓库去找包,如果没有那么就会从<repository><url>标签内的其他仓库依次去找 。而且加上idead的 Reload All Maven Project冲加载包功能,没有去挨个找仓库的小问题,有时候只会在mirror里面找,无法解释清楚,配置mirror主仓目的是加快下载包,而且这个主仓一般都包含多数依赖包

所以最好就是将这类文件都需要删除

解决方案:

直接通过更换本地仓库地址,重新创建一个新的空的本地文件做本地仓库地址、并执行 mvn clean package -U -s D:\tools\settings.xml -gs D:\tools\settings.xml 命令解决了下载包的问题。

报出了第二个问题,点击IDEA的 Reload All Maven Project 刷新按钮,就报错了 

其实跟第一个问题是相关的:

可以切换了mirror的仓库地址,切换成实际存在的那个仓库地址,再重跑

归根结底,就是把本地仓清空,然后重新运行maven,把报错找不到的那个包所在仓库,改为mirror的主仓地址,再重跑就可以下载到依赖了

另外也有可能是idea的配置问题  ssl证书问题,参考下面帖子

  • 如果都能正常打包了,必要的时候需要看看本地仓库是否已经下了该包,如果是有下载了,可以清空下idea缓存,重启后基本是就不会爆红了

  • 如果部分依赖还未加载出来,同理还是去本地仓库看看是否已经下载了 ,如果是确实没有下载,比如maven插件包目录都没有下载到,那么就单独把该目录删除,然后再reload下工程项目

 

  • 或者也可以适当情况 勾选这个离线工作状态,表示不去中央仓库找依赖包,有时下载不下来可能是网络等原因,我们可以手动去中央仓下载包,然后手动放到我们的本地仓库对应的路径,勾选离线工作状态下,maven就不会去远程仓找依赖,就会在本地仓找 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Maven 依赖是支持 SpringBoot 3.0 的。你可以在你的 pom.xml 文件添加对 SpringBoot 3.0 的依赖。例如: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>3.0.9.RELEASE</version> </dependency> ``` 这样,Maven 就会下载并安装 SpringBoot 3.0 依赖。 ### 回答2: Maven 是一个项目管理工具,用于构建和管理 Java 项目的依赖关系。SpringBoot 是一个基于 Spring 框架的快速开发框架,用于简化 Spring 应用程序的配置和开发。 根据目前(2021年)的信息,SpringBoot 的最新版本是 2.X 版本系列,而不是 3.0 版本。因此,目前的 Maven 依赖仍然支持 SpringBoot 2.X 版本。 在 Maven配置文件 pom.xml ,我们可以通过设置相应的依赖项来使用 SpringBoot。可以使用 spring-boot-starter-parent 作为项目的父级依赖来简化 SpringBoot 项目的构建。 例如,在 pom.xml 文件,我们可以添加以下依赖项: ``` <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.X.X</version> </dependency> <!-- 其他依赖项 --> </dependencies> ``` 这里的 version 标签可以指定所需的 SpringBoot 版本。当 SpringBoot 的 3.0 版本发布时,我们可以更新 pom.xml 文件的 version 标签以使用最新的版本。 总结而言,目前的 Maven 依赖支持 SpringBoot 2.X 版本,但不支持 SpringBoot 3.0 版本,因为目前还没有发布 3.0 版本。如果版本更新,我们可以在 pom.xml 文件更新相应的版本标签来使用最新的 SpringBoot 版本。 ### 回答3: 目前(截至2021年11月),SpringBoot最新的稳定版本是2.5.x系列,不存在SpringBoot 3.0版本。因此,Maven依赖目前不支持SpringBoot 3.0。SpringBoot 2.5.x系列的Maven依赖可以使用以下方式添加到项目: 在pom.xml文件,添加如下依赖配置: ```xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.5.5</version> </dependency> <!-- 其他SpringBoot相关依赖 --> </dependencies> ``` 请注意,实际使用时,可以根据具体需要选择更详细的依赖配置,比如添加Web相关功能支持、数据库支持等。 值得一提的是,对于未来可能发布的SpringBoot 3.0版本,具体是否会支持现有的Maven依赖配置,还需要根据官方发布的文档或公告来确认。通过关注SpringBoot的官方网站、邮件列表或GitHub仓库,可以获得最新的信息和更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值