Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Dagger 2生成的文件无法访问_Java_Gradle_Dagger 2 - Fatal编程技术网

Java Dagger 2生成的文件无法访问

Java Dagger 2生成的文件无法访问,java,gradle,dagger-2,Java,Gradle,Dagger 2,我一生中第一次使用匕首2,我想我遇到了一些过期用户认为无关紧要的问题,因此在他们的指南中被忽略了。 所以我创建了一个简单的绝对空类,它什么也不做,用@Inject标记它的构造函数,然后创建了一个带有@Component注释的接口,其方法返回类型是我的空类。然后我调用了gradlew build,Dagger实际生成了它必须生成的文件。但这些文件位于IDEA项目的build/generated/source/apt/main/com/warden/bot/目录中,而源代码位于项目的src/main

我一生中第一次使用匕首2,我想我遇到了一些过期用户认为无关紧要的问题,因此在他们的指南中被忽略了。 所以我创建了一个简单的绝对空类,它什么也不做,用
@Inject
标记它的构造函数,然后创建了一个带有
@Component
注释的接口,其方法返回类型是我的空类。然后我调用了
gradlew build
,Dagger实际生成了它必须生成的文件。但这些文件位于IDEA项目的build/generated/source/apt/main/com/warden/bot/目录中,而源代码位于项目的src/main/java/com/warden/bot/目录中,因此我不能在程序中使用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)     }
    }
}

你怎么知道你不能在你的程序中使用它们?生成的文件夹/源与普通源文件一样添加到源路径。如果没有,请提供有关您的构建(gradle、maven、ant等)的更多信息、您使用的构建脚本、您如何运行应用程序、,etc@DavidMedenjar我完全知道我不能,因为当我放置
DaggerBotComponent
时,IDEA立即显示一个错误,如无法解析符号“DaggerBotComponent”。此外,我还将我的build.gradle添加到了问题的主体中。似乎IDE的用法已经被记录在案:您如何知道您不能在程序中使用它们?生成的文件夹/源与普通源文件一样添加到源路径。如果没有,请提供有关您的构建(gradle、maven、ant等)的更多信息、您使用的构建脚本、您如何运行应用程序、,etc@DavidMedenjar我完全知道我不能,因为当我放置
DaggerBotComponent
时,IDEA立即显示一个错误,如无法解析符号“DaggerBotComponent”。此外,我还将我的build.gradle添加到了问题的主体中。似乎IDE的使用有文档记录: