[英]Gradle with Lombok breaks randomly
我剛剛發現了最奇怪的問題。
在過去的幾周里,我一直在做某個項目。 從一開始我就使用 gradle 作為構建工具和一些 lombok 注釋。
今天早上構建失敗,錯誤是沒有注入lombok代碼。
在 git bisect 的幫助下,我發現了昨天的一個特別提交,效果很好。 查看差異,任何配置文件都沒有更改。
現在,當我切換到較新的提交時,我可以毫無問題地構建項目(包含所有新更改),但如果我清理項目,問題又會出現。
總結
這是我的 build.gradle.kts 文件
plugins {
java
id("io.freefair.lombok") version "5.1.0"
}
group = "example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation("org.junit.jupiter", "junit-jupiter-api", "5.6.2")
testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", "5.6.2")
testImplementation("org.assertj", "assertj-core", "3.15.0")
}
configure<JavaPluginConvention> {
sourceCompatibility = JavaVersion.VERSION_1_8
}
tasks.test {
useJUnitPlatform()
}
tasks.jar {
manifest {
attributes(
"Main-Class" to "my.main.Class"
)
}
}
如您所見,我什至沒有運行時依賴項(這是一個要求,jar 必須完全獨立)。
說實話,我可以忍受這種在我的提交上來回跳躍的奇怪修復,但事實是它正在發生,我不知道為什么要殺了我。
也許您可以嘗試在沒有插件的情況下使用 vanilla lombok。 例如
ext {
versions = [lombok: '1.18.12']
}
dependencies {
compileOnly "org.projectlombok:lombok:$versions.lombok"
annotationProcessor "org.projectlombok:lombok:$versions.lombok"
testCompileOnly "org.projectlombok:lombok:$versions.lombok"
testAnnotationProcessor "org.projectlombok:lombok:$versions.lombok"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.