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

Java 如何在Android Studio 3.0中正确设置Lombok,java,android,android-studio,android-gradle-plugin,lombok,Java,Android,Android Studio,Android Gradle Plugin,Lombok,我想知道我在Android Studio 3.0 Beta 2的Lombok设置中做错了什么 这就是我的Gradle构建文件的外观: buildscript { repositories { mavenCentral() jcenter() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "io.franzbe

我想知道我在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"
}

我已经安装了lombok插件,lombok的东西也正确地显示在IDE中,但是当我想要构建项目时,Gradle找不到lombok创建的getter/setter。我试图按照教程和其他有关此设置的堆栈溢出页面进行操作,但没有任何效果。在Android Studio 2.3中,我甚至无法正确启用注释处理,这就是为什么我更新到最新的测试版,至少在测试版中可以正常工作。

您需要使用新的
注释处理器,而不是
apt


我和你有同样的问题,现在它可以工作了。

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

compileOnly 'org.projectlombok:lombok:1.16.18'
compileOnly 'javax.annotation:javax.annotation-api:1.3.1'
annotationProcessor 'org.projectlombok:lombok:1.16.18'

我面临着同样的问题,从3.0升级到4.1,lombok停止生成setter/getter

所以,如果你在IntelliJ中使用lombok插件,那么对于我来说,将lombok从最新的稳定边缘版本降级到0.15.17.2解决了这个问题


我假设您安装了插件(首选项..->Plugins),并且现在启用了注释处理?我刚刚浏览了我使用Lombok的一个项目,这里是我与Lombok相关的导入:compile'org.projectlombok:Lombok:1.16.16‘compile’javax.annotation:jsr250 api:1.0‘提供了’javax.annotation:jsr250 api:1.0‘我试过了,但没有真正起作用。你能不能给我发一个你的项目,没有实际的src,这样我就可以看到它和我的设置之间的区别?现在真的不能这样做,但我还注意到我添加了一个顶级lombok.config文件(在我的主/java文件夹中)其中有一行:lombok.anyConstructor.suppressConstructorProperties=true我用lombok.anyConstructor.suppressConstructorProperties=true试过了,我的项目可以编译,但不会生成任何getter/setter/constructor。没有。对于lombok和使用apt的任何其他库,您需要将所有
apt…
替换为
annotationProcessor…
compileOnly 'org.projectlombok:lombok:1.16.18'
compileOnly 'javax.annotation:javax.annotation-api:1.3.1'
annotationProcessor 'org.projectlombok:lombok:1.16.18'