作者:我是一颗菠菜 | 来源:互联网 | 2023-05-31 09:34
我有一个app模块(这是我的应用程序)和一个java库项目模块(称为api)我想在api模块中使用dagger2但是注释处理器不工作,匕首前缀类(例如DaggerApiCompon
我有一个app模块(这是我的应用程序)和一个java库项目模块(称为api)我想在api模块中使用dagger 2但是注释处理器不工作,匕首前缀类(例如DaggerApiComponent)并没有像人们期望的那样产生.任何帮助将不胜感激,是的,我正在使用gradle.
解决方法:
最后我设法解决了这个问题,gradle的android-apt插件只有在应用插件时才可用:’com.android.application’被使用.所以在你不能使用com.android.application插件的java库中你需要使用插件apply plugin:“net.ltgt.apt”应用这个插件之后你可以使用apt配置来实现dagger的编译器依赖性“com”依赖项块中的.google.dagger:dagger-compiler:2.0.2“.此外,您需要应用插件:“idea”net.ltgt.apt才能正常工作,如果您不应用构思插件,注释处理器会生成匕首工厂类,但它不会包含在IDE的sourceSet中,所以别忘了应用这个想法插件.所以最后我的构建脚本看起来像这样
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "net.ltgt.gradle:gradle-apt-plugin:0.6"
}
}
apply plugin: 'java'
apply plugin: "net.ltgt.apt"
apply plugin: "idea"
dependencies {
// Dagger 2 and Compiler
compile 'com.google.dagger:dagger:2.0.2'
apt "com.google.dagger:dagger-compiler:2.0.2"
}