无法将Dagger 2依赖项添加到java模块

时间:2018-04-13 15:08:35

标签: java android dagger-2 java-module

我试图将我的Android应用程序分成几个模块。例如,我想要2个额外的模块 - Core和ViewModels。它们都是纯java模块。但是,在将Dagger 2依赖项添加到这些java模块时,我遇到了麻烦。这是其中一个模块的构建gradle文件

apply plugin: 'java-library'


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.dagger:dagger:2.15'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.15'
    implementation 'org.greenrobot:eventbus:3.1.1'
}

sourceCompatibility = "1.7"
targetCompatibility = "1.7"

但是,当我同步gradle时,我收到以下错误

Could not find method classpath() for arguments [com.neenbedankt.gradle.plugins:android-apt:1.8] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
Open File

任何想法为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。这是我的最终build.gradle自定义模块的样子

plugins {
    id "net.ltgt.apt" version "0.15"
}
apply plugin: 'java-library'



dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.dagger:dagger:2.15'
    apt 'com.google.dagger:dagger-compiler:2.13'
}

sourceCompatibility = "1.8"
targetCompatibility = "1.8"

Dagger 2成功地生成了必要的代码,app就像魔法一样。