报错:The class java.lang.IllegalArgumentException may be caused by the wrapped ProcessingEnvironment

应用启动报错

使用IntelliJ IDEA社区版在本地启动某个sofa boot项目时报如下错误

java: java.lang.IllegalArgumentException

java: The class java.lang.IllegalArgumentException may be caused by the wrapped ProcessingEnvironment object.
  Please pass the wrapped ProcessingEnvironment further to super.init().
  If you need to access the original ProcessingEnvironment object (e.g. for creating com.sun.source.util.Trees.instance(ProcessingEnvironment)), you may use following code in the processor implementation:
  
  ProcessingEnvironment unwrappedprocessingEnv = jbUnwrap(ProcessingEnvironment.class, processingEnv);
  where
  
  private static <T> T jbUnwrap(Class<? extends T> iface, T wrapper) {
    T unwrapped = null;
    try {
      final Class<?> apiWrappers = wrapper.getClass().getClassLoader().loadClass("org.jetbrains.jps.javac.APIWrappers");
      final Method unwrapMethod = apiWrappers.getDeclaredMethod("unwrap", Class.class, Object.class);
      unwrapped = iface.cast(unwrapMethod.invoke(null, iface, wrapper));
    }
    catch (Throwable ignored) {}
    return unwrapped != null? unwrapped : wrapper;
  }

仔细查看报错,idea提示了解决的方法:

java: Workaround: to make project compile with the current annotation processor implementation, start JPS with VM option: -Djps.track.ap.dependencies=false
  When run from IDE, the option can be set in "Compiler Settings | build process VM options"

如图可以设置为-Djps.track.ap.dependencies=false
在这里插入图片描述
解决该问题后出现另一个报错,提示项目的某些properties为null。
解决方法:将IntelliJ IDEA社区版更换成了专业版,能够自动识别出spring boot项目并成功在本地启动项目。
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值