Java 如何在Android Studio 3.0中正确设置Lombok
我想知道我在Android Studio 3.0 Beta 2的Lombok设置中做错了什么 这就是我的Gradle构建文件的外观: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
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'