如何在非Android Gradle Java应用程序中使用Dagger?

ato*_*tok 8 java dependency-injection gradle dagger

Dagger被宣传为"Android和Java的快速依赖注入器".但是我不能让它在没有Gradle'android'插件的情况下运行.

compile 'com.squareup.dagger:dagger:1.2.1'
provided 'com.squareup.dagger:dagger-compiler:1.2.1'
Run Code Online (Sandbox Code Playgroud)

有没有provided在的Java"或"应用" gradle这个插件,我使用.在这个错误报告中甚至提到了.

让它''编译'yelds没有结果.java.lang.IllegalStateException: Module adapter for class ... could not be loaded.抛出同样的东西.

如何使用'java'和'application'来配置使用dagger注释处理器?

tom*_*ozb 4

它应该可以正常工作,两者都定义为compile。该错误表明您的代码存在其他问题。

如果您仍然想使用提供的范围,请阅读以下内容:http://www.sinking.in/blog/provided-scope-in​​-gradle /

如何使用提供的快速示例:

apply plugin: 'java'

configurations {
    provided
}

sourceSets {
    main {
        compileClasspath += configurations.provided
    }
}

dependencies {
    provided 'com.google.guava:guava:18.0'
}
Run Code Online (Sandbox Code Playgroud)