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的里面插入未解析的依赖项。
IDEA新建maven、SprintBoot项目出现报错:未解析的插件 ‘org.springframework.bootspring-boot-maven-plugin3.4.1‘解决和原因_第1张图片
然后重新构建,可以看到报错消除。同时查看.m2 epositoryorgapachemavenplugins目录,发现新建了这些版本的插件。IDEA新建maven、SprintBoot项目出现报错:未解析的插件 ‘org.springframework.bootspring-boot-maven-plugin3.4.1‘解决和原因_第2张图片

原因

要知其然,知其所以然。

我觉得很奇怪,

  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. 在依赖项的完整列表里查找对应依赖,确实是出现报错的版本号。IDEA新建maven、SprintBoot项目出现报错:未解析的插件 ‘org.springframework.bootspring-boot-maven-plugin3.4.1‘解决和原因_第3张图片

你可能感兴趣的:(面试,学习路线,阿里巴巴,intellij-idea,maven,java)