繁体   English   中英

gradle 构建失败 - 可能的龙目岛问题

[英]gradle build failing - possible lombok issue

我已经为 STS 安装了 lombok 1.18.4。

但是,如果我尝试使用./gradlew clean build而不是通过 STS 在终端中构建我的 jar,我会收到此错误:

Task :compileJava FAILED
Image.java:12: error: constructor Image() is already defined in class Image
@NoArgsConstructor
^
1 error

我发现这个页面表明这是旧版本的 lombok 的问题。 因为我似乎已经安装了它并通过 IDE 工作,所以我必须做些什么才能在终端中构建它?

这是我的Image类代码:

package com.greglturnquist.learningspringboot.learningspringboot;

import lombok.Data;
import lombok.NoArgsConstructor;

//tag::code[]
@Data
@NoArgsConstructor
public class Image {

    private int id;
    private String name;

    public Image(int id, String name) {
        this.id = id;
        this.name = name;
    }

}
//end::code[]

添加以下作为依赖项

compileOnly 'org.projectlombok:lombok:1.18.6'
annotationProcessor 'org.projectlombok:lombok:1.18.6'

和存储库

repositories {
    mavenCentral()
}

根据您对 Gradle 版本的评论,查找项目的build.gradle文件。

找到其中的依赖项部分,并更新与 lombok 相关的行以匹配您的 STS 版本

您应该会看到与此类似的一行,但版本为 1.16.22。

dependencies {
    compileOnly('org.projectlombok:lombok:1.18.4')
}

尝试使用AccessLevel我只是在这里在 github 中解决这个问题

@NoArgsConstructor(access=AccessLevel.PUBLIC)

Github 资源来自参考链接

是的,这是一个错误。 对不起。 将看看我们多久可以发布新版本。

1.16.22 构造函数具有私有访问权限 #1704

或更新为

将 Lombok 依赖版本更新为 1.18.2 #14127

试试这个,它对我有用

compile 'org.projectlombok:lombok:1.18.12'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM