Ale*_*xey 8 java intellij-idea dagger-2
在非Android应用程序中我完全厌倦了Dagger 2 (IDE是IntelliJ IDEA).
的build.gradle
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "net.ltgt.gradle:gradle-apt-plugin:0.9"
}
}
apply plugin: 'java'
apply plugin: 'net.ltgt.apt'
dependencies {
compile 'com.google.dagger:dagger:2.8'
apt 'com.google.dagger:dagger-compiler:2.8'
compileOnly 'javax.annotation:jsr250-api:1.0'
}
Run Code Online (Sandbox Code Playgroud)
零件
@Component(modules = {MyModule.class}) public interface MyComponent {}
Run Code Online (Sandbox Code Playgroud)
模
@Module class MyModule {}
Run Code Online (Sandbox Code Playgroud)
主要
DaggerMyComponent component = DaggerMyComponent.builder().build();
Run Code Online (Sandbox Code Playgroud)
编译说
找不到符号DaggerMyComponent
绝对没有更多的想法可能是错的:(
顺便说一句,如果我跑gradlew clean build --refresh-dependencies
,没有错误,一切都很好!
但是因为我只在IDE中使用"重建项目" - 再次出错.可能是IDEA错误(回到Eclipse的时间)?
是的,我已经添加了生成的类作为内容根目录,因此IDE可以看到DaggerMyComponent
.
我已将问题发布到JetBrains
https://youtrack.jetbrains.com/issue/IDEA-169387
而解决方案是在第一个评论.
如果将IntelliJ内部编译器用于项目构建,则需要在File |中启用注释处理 设置| 构建,执行,部署| 编译器| 注释处理器
作为替代方案,您可以将构建/运行IDE操作委派给gradle.您可以在File |中找到该选项 设置| 构建,执行,部署| 构建工具| Gradle | 跑步者
在构建171.4073.35中 Delegate IDE build/run actions to gradle
,默认设置选项.
归档时间: |
|
查看次数: |
2582 次 |
最近记录: |