You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code中Spring Boot项目Maven构建无法完成排查请求

VS Code中Spring Boot依赖构建卡住的问题排查与解决

我在VS Code中打开Spring Boot应用时,依赖构建进程始终无法完成,运行数小时毫无进展,终端显示如下内容:

9f5bcec9 Importing Maven project(s): Importing Maven project(s) - Refreshing '/jdt.ls-java-project'. [337/1000]
c9f76cf2 Refreshing Maven model: [0/-1]
fc8986d3 Repository registry initialization [Done]

怀疑是pom.xml文件存在问题导致依赖解析异常,以下是对pom.xml的问题排查和解决方法:


一、pom.xml中的核心问题

1. Java版本冲突

properties中配置的java.version为17,但maven-compiler-plugin指定的source和target版本是1.8,版本不匹配会导致依赖解析逻辑混乱,拖慢甚至卡住构建进程。

2. 冗余/冲突依赖

  • javax.servlet-api:spring-boot-starter-web已经内置了适配的servlet-api依赖,手动添加会引发依赖版本冲突。
  • maven-core:这是Maven自身的核心组件,普通Spring Boot项目无需引入,冗余依赖会干扰依赖树的正常解析。

3. Protobuf版本不统一

protobuf-java版本为3.19.2,而protobuf-java-util版本是3.21.2,版本不一致会导致类兼容性问题,影响依赖解析效率。

4. 缺失核心构建插件

spring-boot-maven-plugin被注释掉,这是Spring Boot项目构建的核心插件,缺失会导致Maven无法正确识别项目结构,阻碍依赖导入流程。

5. 过时的注解API依赖

标注为Java 9+所需的org.apache.tomcat:annotations-api:6.0.53版本过低,与Java 17不兼容,会引发依赖解析异常。


二、具体解决步骤

1. 统一Java版本配置

修改maven-compiler-plugin的source和target版本,与properties中的Java版本保持一致:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.7.0</version>
    <configuration>
        <source>17</source>
        <target>17</target>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

2. 移除冗余依赖

删除以下依赖节点:

  • javax.servlet:javax.servlet-api
  • org.apache.maven:maven-core

3. 统一Protobuf版本

将protobuf-java和protobuf-java-util版本统一,比如都升级到3.21.2:

<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java</artifactId>
    <version>3.21.2</version>
</dependency>
<dependency>
    <groupId>com.google.protobuf</groupId>
    <artifactId>protobuf-java-util</artifactId>
    <version>3.21.2</version>
</dependency>

4. 恢复Spring Boot构建插件

取消spring-boot-maven-plugin的注释,确保项目能被正确识别为Spring Boot项目:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <excludes>
            <exclude>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </exclude>
        </excludes>
    </configuration>
</plugin>

5. 替换/移除过时注解API

删除org.apache.tomcat:annotations-api:6.0.53依赖,Spring Boot 2.7.x已自带适配Java 17的注解API,无需手动引入。

6. VS Code端清理与重置

  • 关闭VS Code,删除项目下的.vscode、target文件夹,以及本地Maven仓库中该项目的缓存目录(如~/.m2/repository/com/thinhda/spring/grpc/core)
  • 重新打开项目,在终端执行mvn clean install -U强制更新依赖
  • 打开VS Code命令面板(Ctrl+Shift+P),执行Maven: Reload Projects重新加载项目

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 02:57:17