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




