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

SpringBoot API无明显原因突发异常的排查求助

问题描述

我正在基于SpringBoot-React CRUD模板开发项目,后续计划扩展复杂功能,采用MSSQL数据库、Spring JPA做数据交互。

更新1

项目存储在网络驱动器上,切换企业VPN会不会引发问题?是否需要删除工作区部分元数据后重新清理更新项目?

更新2

目前彻底陷入困境:
(原截图:项目整体报错界面)

API原本构建运行正常,突然毫无征兆出现问题,已经被迫重建多次项目:

  1. Repository实现类提示「添加未实现方法」,但对应的接口根本未定义任何方法;
  2. 紧接着POM文件提示MANIFEST.MF缺失。

相关细节

  • 项目为标准MVC结构(原截图:展示src/main/java下controller、entity、repository、service等目录)
  • Repository实现类飘红报错,要求实现接口方法,但接口是空的
  • 点击「添加未实现方法」后,自动生成了JPA全套方法(如findAll、findById、save等),但接口中并未声明这些方法
  • 参考的示例存在缺陷,导致Repository接口的方法被错误地在Controller中实现(原截图:Controller中编写了类似JPA Repository的方法)
  • 怀疑是STS4的问题,IDE会突然持续显示「Computing...」,长时间卡顿
  • 出现上述问题后,POM文件中maven-jar-plugin部分飘红,提示找不到MANIFEST.MF(原截图:对应报错位置)
  • POM中还有一行配置也报了错(原截图:对应报错行)

已尝试操作

  • 重装过Eclipse IDE
  • 确认环境兼容:Java 11、Spring 2.7.6、Maven,依赖包含JPA、Dev Tools等
  • 之前SQL配置、前端React+Axios交互均正常
  • 查阅过类似帖子,但无完全匹配的情况,不想再重建API,恳请解决办法

排查解决建议

一、先处理IDE/元数据相关问题

  1. 清理IDE缓存与元数据
    关闭STS4/Eclipse,找到工作区目录下的.metadata文件夹,删除其中的.plugins/org.eclipse.jdt.core和.plugins/org.eclipse.m2e.core目录;重新打开IDE后,执行Maven > Clean + Maven > Install,再右键项目选择Refresh + Spring > Refresh All。
  2. 禁用自动构建
    打开Window > Preferences > General > Workspace,取消勾选Build automatically,改用手动触发构建,避免IDE在VPN切换时后台乱构建。
  3. 迁移项目到本地磁盘
    网络驱动器在VPN切换时易出现文件访问延迟、缓存不一致问题,直接把项目复制到本地磁盘后再导入IDE,排除网络存储干扰。

二、修复Repository相关异常

  1. 规范Repository接口定义
    确保Repository接口正确继承JpaRepository或CrudRepository,示例:
    public interface UserRepository extends JpaRepository<User, Long> {}
    
    Spring Data JPA会动态生成代理类,不需要手动编写实现类,你当前的问题就是手动创建实现类导致IDE错误识别。
  2. 删除错误的Repository实现类
    如果手动创建了XXXRepositoryImpl这类实现类,直接删除即可。
  3. 修正Controller的错误实现
    删掉Controller中错误实现的Repository方法,Controller应通过注入Repository接口调用方法,示例:
    @RestController
    public class UserController {
        @Autowired
        private UserRepository userRepo;
    
        @GetMapping("/users")
        public List<User> getUsers() {
            return userRepo.findAll();
        }
    }
    

三、解决POM文件MANIFEST.MF问题

  1. 检查maven-jar-plugin配置
    如果POM中配置了maven-jar-plugin并指定了MANIFEST.MF路径,确认文件存在;若不需要自定义配置,直接删除这段配置,让Maven自动生成:
    <!-- 若不需要自定义MANIFEST,移除以下配置 -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
            </archive>
        </configuration>
    </plugin>
    
  2. 重新生成MANIFEST.MF
    执行mvn clean package -DskipTests,让Maven重新生成MANIFEST.MF文件后刷新POM。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 02:50:24