如何将 gradle BoM 与注释处理器一起使用?

How to use gradle BoM with annotation processor?

我正在尝试在物料清单 (BoM) 平台模块中定义所有依赖项,以便我的多模块项目中的其他模块可以使用相同的版本。除了 kapt 依赖项外,一切正常。在那些我得到这个错误:

Could not determine the dependencies of task ':app:kaptDebugKotlin'.
> Could not resolve all task dependencies for configuration ':app:kapt'.
   > Could not find com.google.dagger:dagger-compiler:.
     Required by:
         project :app

例如使用此平台 (:bom) 模块:

plugins {
  id 'java-platform'
}
dependencies {
  constraints {
    api 'com.google.dagger:dagger:2.25.2'
    api 'com.google.dagger:dagger-compiler:2.25.2'
  }
}

当我在应用程序模块中像这样使用它时出现该错误:

dependencies {
  implementation platform(project(':bom'))
  implementation 'com.google.dagger:dagger'
  kapt 'com.google.dagger:dagger-compiler'
  // ...
}

如果我使用 annotationProcessor,我会遇到同样的错误。如果我将版本设置为 kapt 'com.google.dagger:dagger-compiler:2.25.2' 一切正常。

我做错了什么?我可以将 BoM 用于 kaptannotationProcessor 吗?

你不见了kapt platform(project(':bom'))

kapt 不包含来自实现的依赖项,因此它也不包含平台