2016-03-06 49 views
0

我正在使用Dagger 2和Gradle,并拥有一切设置和代码生成工作正常。无法解析生成的类

我的build.gradle:

task wrapper(type: Wrapper) { 
    gradleVersion = '2.11' 
} 

subprojects { 
    apply plugin: 'java' 

    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     ... omitted as irrelevant to question ... 

     compile 'com.google.dagger:dagger:2.0.2' 
     compile 'com.google.dagger:dagger-compiler:2.0.2' 
     compile 'javax.inject:javax.inject:1' 
    } 

} 

我的问题是,我无法解析类和我的源代码使用它们,我发现任何解决方案都朝向我不使用Android的针对性。我将如何能够将这些生成的类作为依赖关系来解析?

回答

0

我通过在IDE中启用注释处理以及添加Dr. Pelocho's答案解决了此问题。

  • 应用这样的回答:https://stackoverflow.com/a/33445767/1787084您的build.gradle

  • 在你的build.gradle添加apply plugin: 'eclipse'

  • 启用标注处理通过在Eclipse中的gradle ltgt容易插件创建的目录容易通过导航到项目属性 - > Java编译器 - >注释处理 - >启用项目特定设置 - >启用注释处理

  • 变化生成的源目录build/generated/source/apt/main匹配ltgt默认目录

  • 单击“确定”或“应用”

这增加了匕首生成的类到我的构建路径和classpath

0

前段时间我有类似的问题。在你的情况下,我会说你需要apt插件。检查this question我在哪里解释了我是如何解决它的

+0

好像这是一个Intellij修复,我不使用IDEA。不过,我确实尝试添加eclipse gradle插件而无济于事。 – rmcmk