上下文
我已经用Java启动了一个个人项目,使用Gradle
作为构建系统,我想使用Dagger 2作为DI。这样做的主要原因是为了习惯于该库,并能够在更大的项目中轻松使用它。
我尝试了什么
我已经设法让Google sample在IntelliJ Idea上运行
问题
IntelliJ Idea一直告诉我,它无法解析生成的类(在本例中为DaggerCoffeeApp_Coffee
)。不知道所写的代码是否正确(特别是当您正在学习使用Dagger 2时),这是一件有点烦人的事情。
所有Java类都与Google sample相同。以下是我的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+左键单击进入其实现)?
3条答案
按热度按时间8xiog9wr1#
我发现的最简单的方法是:
1.添加
idea
插件,添加Dagger2依赖,如下所示:1.打开
Annotation Processing
for IntelliJ:转到Settings
搜索Annotation Processors
,勾选Enable Annotation Processing,如下图所示:7ajki6be2#
我终于成功了!
我必须添加
apt
和idea
插件,所以现在我的build.gradle
文件如下所示:izkcnapc3#
您必须手动启用IntelliJ中的注解处理。
从:设置-->生成、执行、部署-->编译器-->注解处理器-->启用注解处理和从项目类路径获取处理器
然后重新生成项目,您将在项目中找到生成的类。
请注意,我曾在(Java)Android项目中使用过该解决方案。