Spring Boot项目Maven构建与运行报错求助(附pom.xml)
Spring Boot项目构建与启动报错排查
报错现象
- 执行
mvn clean install时报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0:test (default-test) on project mdb-spring-boot:
- 执行
mvn spring-boot:run时报错:
[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.7.2:run (default-cli) on project mdb-spring-boot: Application finished with exit code: 1 -> [Help 1]
当前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 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>2.7.14</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>mdb-spring-boot</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mdb-spring-boot</name> <description>Spring boot mongodb</description> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> <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> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.11.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.7.2</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0</version> </plugin> </plugins> </build> </project>
解决方案建议
1. 统一Maven插件版本,依赖Spring Boot Parent管理
Spring Boot Parent已经内置了适配的插件版本,手动指定的版本可能和父版本不兼容:
- 移除
spring-boot-maven-plugin的version标签,让父POM自动管理版本 - 移除
maven-surefire-plugin的version标签,同样由父POM管理,避免版本冲突
修改后的build插件部分:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </plugin> </plugins> </build>
2. 移除重复依赖
spring-boot-starter-data-mongodb已经包含了mongodb-driver-sync,手动添加的重复依赖可能导致版本冲突,直接删除以下依赖:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.11.1</version> </dependency>
3. 查看详细错误日志
当前报错信息不完整,执行命令时添加-X参数获取详细日志:
mvn clean install -X:查看测试阶段的具体失败原因mvn spring-boot:run -X:查看应用启动时的详细异常栈
4. 检查MongoDB连接配置
应用启动失败大概率是MongoDB连接问题,确保application.properties或application.yml中配置了正确的MongoDB地址:
spring.data.mongodb.uri=mongodb://localhost:27017/your-database-name
内容的提问来源于stack exchange,提问作者yiranng
相关产品推荐
相关产品推荐

