java - Lombok 注释在测试中未处理 - Bazel

标签 java testing bazel lombok annotation-processing

我正在尝试与 Bazel 一起使用 Lombok 进行项目。测试文件中未解析 Lombok 注释。有人对如何解决这个问题有建议吗?

我已在 IntelliJ 中启用 Lombok 插件和注释处理

java_library(
    name = "lombok",
    exports = [
        "@maven//:org_projectlombok_lombok",
    ],
    exported_plugins = [
        ":lombok_plugin"
    ],
)

java_plugin(
    name = "lombok_plugin",
    processor_class = "lombok.launch.AnnotationProcessorHider$AnnotationProcessor",
    deps = [
        ":lombok_jar",
    ],
)

java_import(
    name = "lombok_jar",
    jars = [
      "@maven//:v1/https/repo1.maven.org/maven2/org/projectlombok/lombok/1.18.20/lombok-1.18.20.jar"
    ],
)

谢谢

最佳答案

您需要禁用 lombok 对象的 header 编译才能跨目标工作 - 在 .bazelrc 中添加以下代码段

# See https://github.com/bazelbuild/bazel/issues/12837.
build --nojava_header_compilation
test --nojava_header_compilation

关于java - Lombok 注释在测试中未处理 - Bazel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69508945/

相关文章:

java - 如何在java中释放句柄

testing - TFS 测试结果条目 "Web Test Manager"或其他测试执行选项

java - 如何从 Eclipse 的 Navigator View 中获取选定的项目?

java - JNI 包装的库寻找错误的工作目录——如何规避?

swift - Xcode 10 GM : XCUIScreen. main.screenshot() 与 `dyld: lazy symbol binding failed` 崩溃

ios - 使用 KIF : beforeEach is called after my view controller is loaded? 进行功能测试

tensorflow - Tensorflow 中 8 位量化的 fatal error

c++ - 在 Bazel 中更新单个外部存储库

bazel - 在不下载外部依赖项的情况下运行 bazel 查询

java - Java 解释器和 JVM 之间的区别