无法使用gradle导入Lombok依赖

3
根据它的文档,该技术与IT相关。

A minimal build.gradle looks like this:

plugins {
  id 'io.franzbecker.gradle-lombok' version '1.10'
  id 'java'
}

repositories {
  jcenter() // or Maven central, required for Lombok dependency
}

After applying the plugin, the Lombok annotations can be used directly in any Java code

这是我的build.gradle文件。
group 'tests'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'io.franzbecker.gradle-lombok'

plugins {
    id 'io.franzbecker.gradle-lombok' version '1.10'
    id 'java'
}

lombok {
    version = "1.16.4"
    sha256 = "3ca225ce3917eac8bf4b7d2186845df4e70dcdede356dca8537b6d78a535c91e"
}

sourceCompatibility = 1.8

repositories {
    mavenCentral()
    jcenter() // https://stackoverflow.com/questions/41319176/how-to-make-gradle-add-lombok-to-its-project-and-external-dependencies-libraries
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
}

当我运行gradle build时,它会给我以下结果。
classpath
No dependencies

BUILD SUCCESSFUL

但是 Lombok 注释并不可用。我尝试在 dependencies 下添加 compileOnly 'org.projectlombok:lombok:1.16.18',但结果相同。我理解应该已经应用了插件。我使用的是 IntelliJ,但我认为这与 IDE 无关,因为问题不在于注释无法被识别,而是它们根本不可用。
我错过了什么?

1
“Lombok annotations are not available” 是什么意思?编译失败了吗?你刚才运行的 Gradle 看起来好像什么都没做。 - Michael Piefel
1个回答

1
请在您的 build.gradle 中尝试以下内容。
apply plugin: 'java'

group = 'com.example'
version = '1.0-SNAPSHOT'
sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.4'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

请注意,我正在使用IntelliJ 2018.2,并在“首选项|构建、执行、部署|编译器|注释处理器”下启用了注释。如果这样做不起作用,则可以从命令提示符中运行“./gradlew clean build”并查看是否有构建错误。
如果没有看到任何错误,则可以如下使用lombok。
package com.example.java8;

import lombok.Data;

@Data
public class Country {
    private final String country_iso_code;
    private final String name;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接