Gradle 无法构建带注释的 lombok class
Gradle cannot build lombok annotated class
我已经将我的项目从 maven 更改为 gradle。但是这个命令我有错误
./gradlew build --scan
对于其中包含 lombok 的项目。
网上的方法都试过了,都没用。 build.gradle 文件使用 kotlin 语言
这里是 build.gradle.kts
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
java
`maven-publish`
}
repositories {
mavenLocal()
maven {
url = uri("https://repo.maven.apache.org/maven2/")
}
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa:2.3.9.RELEASE")
implementation("org.springframework.boot:spring-boot-starter-validation:2.3.9.RELEASE")
implementation("org.springframework.boot:spring-boot-starter-actuator:2.3.9.RELEASE")
implementation("org.springframework.boot:spring-boot-starter-web:2.3.9.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-config:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-sleuth:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-sleuth-zipkin:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-openfeign:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.2.0.RELEASE")
implementation("io.springfox:springfox-swagger2:2.9.2")
implementation("io.springfox:springfox-swagger-ui:2.9.2")
implementation("org.projectlombok:lombok:1.18.18")
runtimeOnly("mysql:mysql-connector-java:8.0.23")
testImplementation("org.springframework.boot:spring-boot-starter-test:2.3.9.RELEASE")
}
group = "com.bank"
version = "0.0.1-SNAPSHOT"
description = "transaction"
java.sourceCompatibility = JavaVersion.VERSION_1_8
publishing {
publications.create<MavenPublication>("maven") {
from(components["java"])
}
}
tasks.withType<JavaCompile>() {
options.encoding = "UTF-8"
}
在我看来。正如 lombok docs
中所述,您必须将插件应用于构建脚本
像这样:
plugins {
...
id "io.freefair.lombok" version "6.4.2"
}
或者你必须提供注释处理器依赖,但我认为插件更适合。
所以我使用了最新版本而不是 lombok 1.18.18
compileOnly("org.projectlombok:lombok:1.18.22")
annotationProcessor("org.projectlombok:lombok:1.18.22")
testCompileOnly("org.projectlombok:lombok:1.18.22")
testAnnotationProcessor("org.projectlombok:lombok:1.18.22")
我已经将我的项目从 maven 更改为 gradle。但是这个命令我有错误
./gradlew build --scan
对于其中包含 lombok 的项目。
网上的方法都试过了,都没用。 build.gradle 文件使用 kotlin 语言
这里是 build.gradle.kts
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
java
`maven-publish`
}
repositories {
mavenLocal()
maven {
url = uri("https://repo.maven.apache.org/maven2/")
}
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa:2.3.9.RELEASE")
implementation("org.springframework.boot:spring-boot-starter-validation:2.3.9.RELEASE")
implementation("org.springframework.boot:spring-boot-starter-actuator:2.3.9.RELEASE")
implementation("org.springframework.boot:spring-boot-starter-web:2.3.9.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-config:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-sleuth:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-sleuth-zipkin:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-openfeign:2.2.0.RELEASE")
implementation("org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:2.2.0.RELEASE")
implementation("io.springfox:springfox-swagger2:2.9.2")
implementation("io.springfox:springfox-swagger-ui:2.9.2")
implementation("org.projectlombok:lombok:1.18.18")
runtimeOnly("mysql:mysql-connector-java:8.0.23")
testImplementation("org.springframework.boot:spring-boot-starter-test:2.3.9.RELEASE")
}
group = "com.bank"
version = "0.0.1-SNAPSHOT"
description = "transaction"
java.sourceCompatibility = JavaVersion.VERSION_1_8
publishing {
publications.create<MavenPublication>("maven") {
from(components["java"])
}
}
tasks.withType<JavaCompile>() {
options.encoding = "UTF-8"
}
在我看来。正如 lombok docs
中所述,您必须将插件应用于构建脚本像这样:
plugins {
...
id "io.freefair.lombok" version "6.4.2"
}
或者你必须提供注释处理器依赖,但我认为插件更适合。
所以我使用了最新版本而不是 lombok 1.18.18
compileOnly("org.projectlombok:lombok:1.18.22")
annotationProcessor("org.projectlombok:lombok:1.18.22")
testCompileOnly("org.projectlombok:lombok:1.18.22")
testAnnotationProcessor("org.projectlombok:lombok:1.18.22")