有什么方法可以使IntelliJ IDEA识别Java项目中Dagger 2生成的类?
问题内容:
语境
我已经使用java Gradle
作为构建系统启动了一个个人项目,我想将Dagger
2用作DI。这样做的主要原因是要习惯该库并能够在较大的项目中轻松使用它。
我尝试了什么
我设法使Google示例在IntelliJ
IDEA上运行
问题
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'
}
题
有什么方法可以使IntelliJ IDEA识别DaggerCoffeeApp_Coffee
为生成的类(从而可以通过`ctrl +左键单击进入其实现)?
问题答案:
终于我做到了!
我必须添加apt
和idea
插件,所以现在我的build.gradle
文件如下所示:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "net.ltgt.gradle:gradle-apt-plugin:0.4"
}
}
apply plugin: "net.ltgt.apt"
apply plugin: 'java'
apply plugin: 'idea'
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile 'com.google.dagger:dagger:2.0.1'
apt 'com.google.dagger:dagger-compiler:2.0.1'
}