IDEA新建maven、SprintBoot项目出现报错:未解析的插件 ‘org.springframework.bootspring-boot-maven-plugin3.4.1‘解决和原因

问题

使用IDEA创建Spring Boot项目时出现报错

未解析的插件: 'org.springframework.boot:spring-boot-maven-plugin:3.4.1'
未解析的插件: 'org.apache.maven.plugins:maven-clean-plugin:3.4.0'
未解析的插件: 'org.apache.maven.plugins:maven-jar-plugin:3.4.2'
未解析的插件: 'org.apache.maven.plugins:maven-surefire-plugin:3.5.2'
未解析的插件: 'org.apache.maven.plugins:maven-install-plugin:3.1.3'
未解析的插件: 'org.apache.maven.plugins:maven-deploy-plugin:3.1.3'

但是只是用maven创建了一个springboot项目而已。

听说这个不影响项目运行,不知道是不是。

解决方案

intellij 想法 - 未解析的插件:“org.apache.maven.plugins:maven-jar-plugin:2.4” - 堆栈溢出 (stackoverflow.com)
在全局pom.xml的<dependencies></dependencies>里面插入未解析的依赖项。
插入插件maven-jar-plugin的依赖项
然后重新构建,可以看到报错消除。同时查看.m2 epositoryorgapachemavenplugins目录,发现新建了这些版本的插件。对应maven-install-plugin插件3.1.3版本

原因

要知其然,知其所以然。

我觉得很奇怪,

  1. 为什么出现这个报错?(我是一个java小白)
  2. 为什么是这些版本,那里指定了这些插件的默认版本?
1. stackoverflow提供的结局方案

在 IntelliJ 中找不到 Maven 插件

2. 插件未解析报错原因

查看全局pom.xml文件的parent标签,发现继承 spring-boot-starter-parent POM,间接管理插件版本。

spring-boot-starter-parent 提供了一组默认的依赖管理和插件管理配置。该配置在.m2 epositoryorgapachemavenplugins中不存在,因此报错未解析的插件

3. 指定插件默认版本的位置
  1. Maven 的构建过程是基于一系列预定义的生命周期阶段(如 validate, compile, test, package, install, deploy 等)。每个阶段可以绑定一个或多个 Maven 插件 的目标(goals),这些插件负责执行具体的任务,比如编译代码、运行测试、打包项目等。

  2. spring-boot-starter-parent 提供了一组默认的依赖管理和插件管理配置,这些配置包括了许多常用库和插件的版本号。因此,当您在自己的 pom.xml 文件中指定 spring-boot-starter-parent 作为父 POM 时,实际上是在利用 Spring Boot 提供的默认版本管理。

  3. 查看spring-boot-starter-parent 的默认管理版本以验证:
    1. 查看版本属性(官网):版本属性 :Spring Boot
    2. 查看依赖项的完整列表(官网?):spring-boot/spring-boot-project/spring-boot-dependencies/build.gradle at v3.4.1 · spring-projects/spring-boot (github.com)
    3. 在依赖项的完整列表里查找对应依赖,确实是出现报错的版本号。maven-install-plugin插件的默认版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值