lombok 不生效

lombok 不生效

0 问题

在build/rebuild时,提示Lombok不生效:

java: You aren’t using a compiler supported by lombok, so lombok will not work and has been disabled.

或者:

java: JPS incremental annotation processing is disabled. Compilation results on partial recompilation may be inaccurate. Use build process “jps.track.ap.dependencies” VM flag to enable/disable incremental annotation processing environment.

第二种显示,附加代码的注解会失效,通过设置属性 -Djps.track.ap.dependencies 来启用或禁用(通常的解决办法是设为 false)

1 问题原因

使用的lombok版本和idea版本不兼容。idea新版本是使用代理的方式来进行编译。(IDE层面的问题,通常是不推荐修改的)

2 解决办法

升级lombok版本为最新版~

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.22</version>
    <scope>provided</scope>
</dependency>

多模块项目的所有lombok都应该进行升级

Gradle 下 lombok 不生效

需要添加 annotationProcessor 到 dependencies 中

repositories {
	mavenCentral()
}

dependencies {
	compileOnly 'org.projectlombok:lombok:1.18.32'
	annotationProcessor 'org.projectlombok:lombok:1.18.32'
	
	testCompileOnly 'org.projectlombok:lombok:1.18.32'
	testAnnotationProcessor 'org.projectlombok:lombok:1.18.32'
}

如何批量 Delombok

操作方法比较隐蔽, 记录一下
在 idea 中可以选中包名 (路径), 然后将该包下的所有使用 Lombok 注解的类, 转换为普通类,

  1. 选中包名
  2. Ctrl+Shift+A 调出 Action 面板
  3. 输入 delombok
  4. 选中 all lombok annotations
    在这里插入图片描述

Gradle 下发布源码包, 报错 Library source does not match the bytecode for class XXX

在这里插入图片描述

解决方法是使用 lombok 官方插件

https://plugins.gradle.org/plugin/io.freefair.lombok

plugins {
  id "io.freefair.lombok" version "8.6"
}

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "io.freefair.gradle:lombok-plugin:8.6"
  }
}

apply plugin: "io.freefair.lombok"

(完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值