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

Spring Boot社区网站注册功能报NoClassDefFoundError异常求助

问题:Spring Boot注册功能触发NoClassDefFoundError: org/apache/commons/lang3/StringUtils

我用Spring Boot开发社区网站,测试注册功能时抛出500错误,具体异常信息如下:

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Aug 16 01:02:01 EDT 2023
There was an unexpected error (type=Internal Server Error, status=500).
org/apache/commons/lang3/StringUtils
java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
    at com.nowcoder.community.service.UserService.register(UserService.java:48)
    at com.nowcoder.community.controller.LoginController.register(LoginController.java:26)

错误指向UserService.java第48行的if(StringUtils.isBlank(user.getUsername()))代码。我已在pom.xml中添加commons-lang3依赖:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.13.0</version>
</dependency>

使用IntelliJ开发,且已导入import org.apache.commons.lang3.StringUtils;,但异常依然触发,求排查方案。


排查方案
  • 检查本地Maven仓库是否存在依赖包
    打开本地Maven仓库默认路径~/.m2/repository/org/apache/commons/commons-lang3/3.13.0,确认commons-lang3-3.13.0.jar文件是否存在。若缺失,执行mvn clean install -U强制更新依赖。

  • 刷新IntelliJ的Maven依赖与缓存
    在IntelliJ右侧Maven面板点击Reload All Maven Projects图标,确保IDE加载最新依赖配置;也可执行File → Invalidate Caches...选择Invalidate and Restart,清除缓存后重启IDE。

  • 检查依赖范围配置
    确认pom.xml中commons-lang3的<scope>标签是否被误设为provided或test,这会导致运行时无法加载依赖。若存在该标签,直接删除,使用默认的compile范围。

  • 验证打包后的jar包是否包含依赖
    若通过mvn package打包运行,执行jar tf target/你的项目名.jar,查看jar包内是否存在org/apache/commons/lang3/StringUtils.class。若缺失,检查spring-boot-maven-plugin等打包插件配置是否正确引入依赖。

  • 排查依赖冲突
    执行mvn dependency:tree生成依赖树,检查是否有其他依赖引入旧版本commons-lang3导致冲突。若发现冲突,在commons-lang3依赖中添加<exclusions>排除冲突依赖,或明确指定版本强制使用3.13.0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:52:40