Java library delombok 编译时的代码

Java library delombok the code at compile time

我正在构建一个 java 库并在其中使用 Lombok。但我想在编译时反编译 lombok 代码,这样该库的用户就不必导入 lombok 依赖项了。

我的build.gradle看起来像这样

apply plugin: 'java-library'

repositories {
  mavenCentral()
}

dependencies {
    compileOnly "org.projectlombok:lombok:1.18.16"
    annotationProcessor "org.projectlombok:lombok:1.18.16"
}

I am building a java library and using Lombok in it. But I want to decompile the lombok code at compile time so the users of that library don't have to import lombok dependency.

你误解了lombok。 使用 lombok 编译的代码的用户不需要 Lombok。 Lombok 是一个 'compile time only dependency',并且仅在编译实际使用 lombok 的东西时才使用。

当 lombok 完成后,lombok 本身什么也没有留下。

也就是说,你现在有什么?这就是你所需要的。没有什么可做的了。尝试一下!你可以在完成后反编译你自己的程序,你会发现它里面的任何地方都不存在 lombok 注解。您可以编写在类路径上不使用 lombok 的 program/library 代码,它的工作原理是一样的。