Dagger2不要在常规Java项目(Idea Intellij)中生成组件类



这是gradle:

plugins {
    id "net.ltgt.apt" version "0.10"
}
group 'hello'
version '1.0-SNAPSHOT'
apply plugin: 'java'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    compile 'com.google.dagger:dagger:2.11'
    apt 'com.google.dagger:dagger-compiler:2.11'
}

这是类:

组件:

import dagger.Component;
/**
 * Created by bart on 27/06/2017.
 */
@Component(modules = {MainModule.class})
public interface MainComponent {
    Service myService();
    void inject(Manager aManager);
}

当我在控制台中启动./gradlew build时,所有内容都可以。我不明白为什么我无法访问daggermainComponent类或经理类中的任何dagger*类。

确保打开注释处理器。文件 ->设置 ->构建,执行,部署 ->编译器 ->注释处理器单击" 启用注释处理器,然后选择从Project Class Path

获得处理器

这是我的.gradle文件的样子

plugins {
    id 'java'
    id 'net.ltgt.apt-idea' version "0.15"
}
group 'DaggerExample'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
    mavenCentral()
}
dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    implementation 'com.google.dagger:dagger:2.23.2'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.23.2'
}

这是使dagger运行所必需的。

最新更新