如何在Android Studio 3.0中正确设置Lombok

gyu*_*rix 10 java android lombok android-studio android-gradle-plugin

我想知道在Android Studio 3.0 Beta 2的Lombok设置中我做错了什么?

这就是我的Gradle构建文件的样子:

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven { url "https://plugins.gradle.org/m2/" }
    }
    dependencies {
        classpath "io.franzbecker:gradle-lombok:1.10"
        classpath 'com.android.tools.build:gradle:2.3.3'
    }
}

allprojects {
    apply plugin: "eclipse"
    apply plugin: "idea"

    version = '1.0'
    ext {
        appName = "MyAppName"
        gdxVersion = '1.7.0'
    }

    repositories {
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "https://oss.sonatype.org/content/repositories/releases/" }
    }
}

project(":desktop") {
    apply plugin: "java"


    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
    }
}

project(":android") {
    apply plugin: "android"

    configurations { natives }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
    }
}

project(":core") {
    apply plugin: "io.franzbecker.gradle-lombok"
    apply plugin: "java"

    dependencies {
        compile "com.badlogicgames.gdx:gdx:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
        compileOnly "org.projectlombok:lombok:1.16.18"
    }
}

tasks.eclipse.doLast {
    delete ".project"
}
Run Code Online (Sandbox Code Playgroud)

我已经安装了lombok插件,并且lombok的东西也在IDE中正确显示,但是当我想构建项目时,Gradle无法找到由Lombok创建的getter/setter.我试图按照https://projectlombok.org/setup/android和其他关于此设置的堆栈溢出页面的教程,但没有任何效果.在Android Studio 2.3中,我甚至无法正确启用注释处理,这就是我更新到最新测试版的原因,至少可以使用.

Ani*_*ban 7

我有同样的问题.最后我最终得到了这个解决方案 -

compileOnly 'org.projectlombok:lombok:1.16.18'
compileOnly 'javax.annotation:javax.annotation-api:1.3.1'
annotationProcessor 'org.projectlombok:lombok:1.16.18'
Run Code Online (Sandbox Code Playgroud)


Mae*_*lig 4

您需要使用 newannotationProcessor而不是apt:Gradle 迁移annotationProcessor

annotationProcessor "org.projectlombok:lombok:1.16.18"
Run Code Online (Sandbox Code Playgroud)

我遇到了和你一样的问题,现在可以了。