相关疑难解决方法(0)

是否有任何方法可以让IntelliJ IDEA识别Java项目中的Dagger 2生成的类?

上下文

我已经在java中启动了一个个人项目Gradle作为构建系统,我想使用Dagger 2作为DI.这样做的主要原因是习惯了该库,并能够在更大的项目中轻松使用它.

我试过了什么

我已设法使用IntelliJ IDEA运行Google示例

问题

IntelliJ IDEA一直告诉我它无法解析生成的类(在本例中DaggerCoffeeApp_Coffee).不知道编写的代码是否正确(特别是在学习使用Dagger 2时),这有点烦人.

所有java类都与Google示例相同.这是我的build.gradle档案:

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'

    compile 'com.google.dagger:dagger:2.0.1'
    compile 'com.google.dagger:dagger-compiler:2.0.1'
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让IntelliJ IDEA识别DaggerCoffeeApp_Coffee为生成的类(因此可以通过`ctrl + left click实现它的实现)?

java intellij-idea gradle dagger-2

23
推荐指数
3
解决办法
1万
查看次数

如何在Android Studio的Java库模块中使用Dagger?

我在 Android Studio 项目的 Java 库模块中使用 Dagger,该build.gradle模块的外观如下:

apply plugin: 'java-library'

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.google.dagger:dagger:2.24'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.24'
}

sourceCompatibility = "7"
targetCompatibility = "7"
Run Code Online (Sandbox Code Playgroud)

我可以看到 Dagger 正在正确生成实现,并且它们存在于build/generated/sources/annotationProcessor但由于某种原因我无法在代码中访问它们。package此外,生成的文件在语句中显示错误:

包名称“com.example.javamodule”与文件路径“java.main.com.example.javamodule”不对应

我在这里有两个问题。首先,如何在 java 模块代码中访问 Dagger 生成的类,其次,如何从生成的类中删除上述错误?

java android dependency-injection generated-code dagger-2

4
推荐指数
1
解决办法
1129
查看次数