You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Maven pom.xml配置报错求助:无法解析Spring Boot父POM

问题根源分析与解决方案

兄弟,别怀疑SNAPSHOT啦!你的核心问题是Spring Boot父POM的版本号完全不对,而且还有Java版本和Spring Boot版本不兼容的问题,咱们一步步来搞定:

1. 先搞清楚版本匹配关系

你用的是Java 1.8,但Spring Boot 3.x系列最低要求Java 17,而你写的3.5.3这个版本的Spring Boot根本不存在(截止到现在Spring Boot最高稳定版是3.3.x)。结合你的Java 1.8,只能用Spring Boot 2.x的LTS版本,比如2.7.18(这是2.x系列最后一个稳定版,完美支持Java 8)。

另外你的Maven 3.5.3是可以兼容Spring Boot 2.x的,不用折腾换Maven版本。

2. 修改你的pom.xml

把父POM的版本改成正确的2.x版本,同时确保Java版本和它匹配,修改后的完整pom.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>authorization</groupId>
    <artifactId>auth</artifactId>
    <version>4.1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>auth</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <!-- 换成Java 8支持的Spring Boot 2.x LTS版本 -->
        <version>2.7.18</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!-- 这里指定和父版本一致的插件版本,也可以省略,父POM会自动管理 -->
                <version>2.7.18</version>
            </plugin>
        </plugins>
    </build>
</project>

3. 清理Maven缓存(重要!)

之前错误的3.5.3版本已经被Maven缓存到本地仓库了,你需要强制更新或者删除缓存:

  • 方法一:在项目根目录执行命令,强制更新依赖:
    mvn clean install -U
    
  • 方法二:手动删除本地仓库中对应错误版本的目录,路径大概是:
    C:\Users\lukas\.m2\repository\org\springframework\boot\spring-boot-starter-parent\3.5.3
    删除这个目录后再执行构建。

4. 验证构建

执行完上面的步骤后,回到Eclipse,右键项目 -> Maven -> Update Project,然后执行mvn clean install,应该就能正常构建了。

内容的提问来源于stack exchange,提问作者user9183621

火山引擎 最新活动