开发者社区 问答 正文

Actframework不支持lombok吗??报错

 项目中用到lombok,启动时报错

展开
收起
爱吃鱼的程序员 2020-06-08 16:17:50 562 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    引用来自“罗格林”的评论

    lombok和ActFramework都需要对字节码进行增强.不过字节码增强的时间是不同的.Lombok在编译时增强.ActFramework在加载类的时候增强. 

    上面的错误产生的原因是由于ActFramework直接调用ECJ在内存中编译源码,没有给Lombok提供增强字节码的机会(如果Lombok提供API的话也许以后可以写一个插件?),所以是找不到getAccessType()方法的.

    Act在一定层度上实现了Lombok的特性.比如如果PlanAccessEnum实现SimpleBean接口,Act会自动生成Getter/Setter方法.不过accessType一定要申明成public才行.

    lombok和ActFramework都需要对字节码进行增强.不过字节码增强的时间是不同的.Lombok在编译时增强.ActFramework在加载类的时候增强. 

     

    上面的错误产生的原因是由于ActFramework直接调用ECJ在内存中编译源码,没有给Lombok提供增强字节码的机会(如果Lombok提供API的话也许以后可以写一个插件?),所以是找不到getAccessType()方法的.

     

    Act在一定层度上实现了Lombok的特性.比如如果PlanAccessEnum实现SimpleBean接口,Act会自动生成Getter/Setter方法.不过accessType一定要申明成public才行.

    引用来自“罗格林”的评论

    lombok和ActFramework都需要对字节码进行增强.不过字节码增强的时间是不同的.Lombok在编译时增强.ActFramework在加载类的时候增强. 

    上面的错误产生的原因是由于ActFramework直接调用ECJ在内存中编译源码,没有给Lombok提供增强字节码的机会(如果Lombok提供API的话也许以后可以写一个插件?),所以是找不到getAccessType()方法的.

    Act在一定层度上实现了Lombok的特性.比如如果PlanAccessEnum实现SimpleBean接口,Act会自动生成Getter/Setter方法.不过accessType一定要申明成public才行.

    引用来自“罗格林”的评论

    lombok和ActFramework都需要对字节码进行增强.不过字节码增强的时间是不同的.Lombok在编译时增强.ActFramework在加载类的时候增强. 

    上面的错误产生的原因是由于ActFramework直接调用ECJ在内存中编译源码,没有给Lombok提供增强字节码的机会(如果Lombok提供API的话也许以后可以写一个插件?),所以是找不到getAccessType()方法的.

    Act在一定层度上实现了Lombok的特性.比如如果PlanAccessEnum实现SimpleBean接口,Act会自动生成Getter/Setter方法.不过accessType一定要申明成public才行.

    2020-06-08 16:18:03
    赞同 展开评论
问答标签:
问答地址: