Hutool的Assert类默认是启用的,但可以通过以下方式实现类似"禁用"的效果:

1、运行时控制
通过自定义全局异常处理器捕获Assert抛出的异常,实现业务逻辑上的"软禁用":

@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(IllegalArgumentException.class)
    public ResponseEntity<String> handleAssertException(IllegalArgumentException ex) {
        // 记录日志但不阻断流程
        log.warn("Assert触发: {}", ex.getMessage());
        return ResponseEntity.ok("校验未通过");
    }
}

2编译期排除
在Maven/Gradle中排除hutool-core模块的Assert类(需配合反射工具):

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.8.20</version>
    <exclusions>
        <exclusion>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3、注意事项

  • Hutool的Assert与JVM原生assert关键字无关
  • 生产环境建议保留参数校验逻辑,可通过日志级别控制输出
  • 禁用后需确保业务逻辑有替代的校验机制
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐