使用Gradle 5使用Lombok编译Kotlin和Java
我在使用Gradle 5.4.1编译代码时遇到问题。 令人惊讶的是,它在更新到IntelliJ的最新版本后开始失败,任何返回到工作版本的尝试都失败。然而,我相当肯定IntelliJ不是问题所在 该项目是Java(遗留)和Kotlin代码的混合,在全局范围内使用Lombok作为Java代码(遗留)以及QueryDsl Kotlin代码编译正确,但Java代码失败 我正在发布我的gradle构建文件,在那里我删除了大部分依赖项,以简化阅读以及任何看起来不相关的内容使用Gradle 5使用Lombok编译Kotlin和Java,java,gradle,kotlin,lombok,Java,Gradle,Kotlin,Lombok,我在使用Gradle 5.4.1编译代码时遇到问题。 令人惊讶的是,它在更新到IntelliJ的最新版本后开始失败,任何返回到工作版本的尝试都失败。然而,我相当肯定IntelliJ不是问题所在 该项目是Java(遗留)和Kotlin代码的混合,在全局范围内使用Lombok作为Java代码(遗留)以及QueryDsl Kotlin代码编译正确,但Java代码失败 我正在发布我的gradle构建文件,在那里我删除了大部分依赖项,以简化阅读以及任何看起来不相关的内容 plugins { id '
plugins {
id 'java'
id 'idea'
id 'com.chrisgahlert.gradle-dcompose-plugin' version '0.15.3'
id 'com.palantir.docker' version '0.22.1'
id 'org.springframework.boot' version '2.0.9.RELEASE'
id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.41'
id 'org.jetbrains.kotlin.jvm' version '1.3.41'
id 'org.jetbrains.kotlin.plugin.spring' version '1.3.41'
id 'org.jetbrains.kotlin.kapt' version '1.3.41'
id 'io.spring.dependency-manageme' version '1.0.7.RELEASE'
}
repositories {
mavenCentral()
}
configurations {
all {
exclude group: 'org.apache.tomcat', module: 'tomcat-jdbc'
exclude group: 'org.springframework.boot', module: 'spring-boot-starter-logging'
}
}
compileJava {
options.annotationProcessorPath = configurations.annotationProcessor
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
// QueryDSL
compile("com.querydsl:querydsl-core:${queryDslVersion}")
annotationProcessor("com.querydsl:querydsl-apt:${queryDslVersion}:jpa")
implementation("com.querydsl:querydsl-jpa:${queryDslVersion}")
kapt ("com.querydsl:querydsl-apt:${queryDslVersion}:jpa")
// Lombok
compileOnly "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
implementation("org.projectlombok:lombok:${lombokVersion}")
// Kotlin
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
implementation 'org.jetbrains.kotlin:kotlin-stdlib'
compile group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: '1.2.2'
}
sourceSets {
main.java.srcDirs += 'src/main/java'
main.kotlin.srcDirs += 'src/main/kotlin'
}
compileKotlin {
kotlinOptions {
freeCompilerArgs = ['-Xjsr305=strict']
jvmTarget = "1.8"
}
}
我通常会得到以下错误(许多错误之一),表明尚未生成getter/setter
model/entities/Client.java:71: error: cannot find symbol
.filter(ex -> ex.getDateEnd() == null)
^
symbol: method getDateEnd()
location: variable ex of type Exercice
我错过了什么/做错了什么?
是我唯一的选择吗?(那会非常痛苦)
谢谢你的帮助