Dagger 2生成的文件无法访问

时间:2017-09-20 13:16:10

标签: java gradle dagger-2

我在我的生活中首次使用Dagger 2,我认为我遇到了一些被过期用户认为无关紧要的问题,因此在他们的指南中省略了。 所以我创建了一个简单的绝对空类,它什么都不做,用@Inject标记它的构造函数,然后创建一个带有@Component注释的接口,其方法返回类型是我的空类。然后我调用了gradlew build,Dagger实际上生成了必须生成的文件。但是这些文件位于我的IDEA项目的build / generated / source / apt / main / com / warden / bot /目录中,而源代码位于项目的src / main / java / com / warden / bot /目录中,所以我不能在我的程序中使用Dagger生成的代码。在使用之前是否应该为Dagger设置特殊设置?我现在该怎么办?

UPD 我的build.gradle文件是:

plugins {
    id "net.ltgt.apt" version "0.12"
}

version '2.0'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}


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

jar {
    manifest {
        attributes(
            'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
            'Main-Class': 'com.warden.bot.Main'
    )
}
    from {
        configurations.compile.collect { it.isDirectory() ? it : zipTree(it)     }
    }
}

0 个答案:

没有答案