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

@SneakyThrows对BeanUtils.copyProperties无效导致编译报错如何解决

问题解决方案

根因说明

该报错是Java编译器检测到BeanUtils.copyProperties方法会抛出受检异常IllegalAccessException,但当前代码既未显式捕获,也没有在方法签名上声明抛出,说明@SneakyThrows注解没有实际生效。

可用解决方案

  • 检查注解导入是否正确
    确认导入的是Lombok官方的注解:import lombok.SneakyThrows;,避免导入其他第三方同名注解。
  • 开启项目注解处理器支持
    • IDEA环境:打开Settings > Build, Execution, Deployment > Compiler > Annotation Processors,勾选Enable annotation processing选项。
    • Maven/Gradle构建环境:确认构建配置中已经添加Lombok注解处理器依赖,不是仅引入编译依赖。Maven配置示例如下:
    <dependencies>
      <dependency>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok</artifactId>
          <version>1.18.16</version>
          <scope>provided</scope>
      </dependency>
    </dependencies>
    <build>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.8.1</version>
              <configuration>
                  <source>8</source>
                  <target>8</target>
                  <annotationProcessorPaths>
                      <path>
                          <groupId>org.projectlombok</groupId>
                          <artifactId>lombok</artifactId>
                          <version>1.18.16</version>
                      </path>
                  </annotationProcessorPaths>
              </configuration>
          </plugin>
      </plugins>
    </build>
    
  • 显式指定注解处理的异常类型
    调整注解写法,强制指定要处理的异常:
    @SneakyThrows(IllegalAccessException.class)
    protected void process(){
      BeanUtils.copyProperties(A, B);
    }
    
  • 替换BeanUtils实现(可选)
    如果你当前用的是Apache Commons的org.apache.commons.beanutils.BeanUtils,可以替换为Spring自带的org.springframework.beans.BeanUtils,该实现不会抛出受检异常,无需额外处理即可编译通过。
  • 临时手动处理异常(兜底方案)
    如果注解始终无法生效,可以手动捕获异常后包装为运行时异常抛出:
    protected void process(){
      try {
          BeanUtils.copyProperties(A, B);
      } catch (IllegalAccessException e) {
          throw new RuntimeException(e);
      }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:24:00