Spring Boot项目执行报错:Failed to execute spring-boot-maven-plugin:run
Spring Boot项目启动失败:spring-boot-maven-plugin执行报错
启动通过https://start.spring.io/创建的Spring Boot项目时,出现如下错误:
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:3.2.2:run (default-cli) on project
POM文件内容
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>Name</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Name</name> <description>Demo project for Spring Boot</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.hibernate.orm.tooling</groupId> <artifactId>hibernate-enhance-maven-plugin</artifactId> <version>${hibernate.version}</version> <executions> <execution> <id>enhance</id> <goals> <goal>enhance</goal> </goals> <configuration> <enableLazyInitialization>true</enableLazyInitialization> <enableDirtyTracking>true</enableDirtyTracking> <enableAssociationManagement>true</enableAssociationManagement> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.graalvm.buildtools</groupId> <artifactId>native-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${parent.version}</version> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> </project>
本地环境配置
- Apache Maven 3.9.6,路径:C:\Program Files\apache-maven-3.9.6-bin\apache-maven-3.9.6
- Java版本:21.0.2(Oracle Corporation),运行时路径:C:\Program Files\Java\jdk-21
- 系统:Windows 11(amd64),默认区域:en_GB,编码:UTF-8
问题分析与修复方案
你的POM文件存在多处配置冲突和错误,直接导致启动失败,以下是针对性修复步骤:
统一Java版本配置
- POM中
<java.version>指定为17,但本地使用Java 21,同时maven-compiler-plugin强制设置编译版本为Java 8,三者完全冲突。Spring Boot 3.2.x最低要求Java 17,可选择:- 修改
<properties>中的<java.version>为21,匹配本地JDK版本; - 完全删除
maven-compiler-plugin的自定义配置,Spring Boot父POM会自动继承正确的编译版本,无需手动指定。
- 修改
- POM中
定义Hibernate版本变量
hibernate-enhance-maven-plugin使用了未定义的${hibernate.version}变量,需在<properties>中添加版本定义(Spring Boot 3.2.2对应Hibernate版本为6.4.1.Final):<properties> <java.version>21</java.version> <hibernate.version>6.4.1.Final</hibernate.version> </properties>
修正spring-boot-maven-plugin版本
- 插件中使用的
${parent.version}变量未定义,可直接省略版本号(父POM已管理该插件版本),或明确指定为3.2.2:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!-- 移除version标签,或改为<version>3.2.2</version> --> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin>
- 插件中使用的
后续验证步骤
- 执行
mvn clean install清理并重新构建项目,确保依赖下载完整; - 检查IDE的项目SDK配置,确保与POM中指定的Java版本一致。
- 执行
内容的提问来源于stack exchange,提问作者anchy17
相关产品推荐
相关产品推荐

