【问题标题】:Dagger 2.0 - AppEngine - gradle configurationDagger 2.0 - AppEngine - gradle 配置
【发布时间】:2015-09-18 23:58:52
【问题描述】:

我正在尝试在 AppEngine 项目中从 Dagger 1.2.2 迁移到 Dagger 2.0.1(NOT Android 项目)。

使用 Dagger 1.2.2 简单:

compile 'com.squareup.dagger:dagger-compiler:1.2.2'
compile 'com.squareup.dagger:dagger:1.2.2'

成功了。

使用 Dagger 2.0.1:

compile 'com.google.dagger:dagger-compiler:2.0.1'
compile 'com.google.dagger:dagger:2.0.1'

不起作用(生成源但与 build/classes/main/..package../ 中的 *.class 文件混合)。

【问题讨论】:

    标签: java google-app-engine gradle dagger-2


    【解决方案1】:

    你也可以不使用net.ltgt.apt 插件,(顺便说一下可能与lombok 冲突)。

    apply plugin: 'java'
    apply plugin: 'idea'
    
    def generatedMain = new File(buildDir, "generated/main")
    
    compileJava {
        doFirst {
            generatedMain.mkdirs()
        }
        options.compilerArgs += ['-s', generatedMain]
    }
    idea.module.sourceDirs += generatedMain
    
    dependencies {
        compileOnly 'com.google.dagger:dagger-compiler:2.8'
        compile 'com.google.dagger:dagger:2.8'
    }
    

    【讨论】:

      【解决方案2】:

      我找到了解决办法。

      https://github.com/tbroyer/gradle-apt-plugin

      buildscript {
        repositories {
          maven {
            url "https://plugins.gradle.org/m2/"
          }
        }
        dependencies {
          classpath "net.ltgt.gradle:gradle-apt-plugin:0.3"
        }
      }
      
      apply plugin: "net.ltgt.apt"
      
      dependecies {
        apt 'com.google.dagger:dagger-compiler:2.0.1'
        compile 'com.google.dagger:dagger:2.0.1'
      }
      

      此外,如果您使用 Intellij,建议使用以下配置:

      然而,当在 IntelliJ IDEA 中使用 Gradle 集成时,而不是 比想法任务,您必须手动启用注释 处理:在设置... → 构建、执行、部署 → 编译器 → 注释处理器,勾选启用注释处理和获取 来自项目类路径的处理器。模仿 Gradle 行为和 生成文件行为,可以配置生产和测试 源目录 build/generated/source/apt/main 和 build/generated/source/apt/test 分别选择 Store 生成的源相对于:模块内容根目录。

      我还必须从整个构建目录中删除 Exclude 并将生成的/source/apt/main 目录标记为源。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-13
        • 2015-06-25
        • 1970-01-01
        • 1970-01-01
        • 2018-11-26
        • 1970-01-01
        相关资源
        最近更新 更多