当前位置: 首页 > 知识库问答 >
问题:

Gradle构建在Lombok注释类上失败

范玄裳
2023-03-14

我有一个JHipster项目,我在build.gradle中添加了对Lombok的依赖:

compile group: 'org.projectlombok', name: 'lombok', version: lombok_version

我为IntelliJ安装了Lombok插件。我已经在IntelliJ中打开了注释处理,我可以在IntelliJ IDE中生成而不出错,但是当我尝试从命令行生成时,会出现生成错误。Gradle似乎没有处理注释,也找不到getter/setter和log声明。项目运行时也不会出现任何错误。

命令行:

./gradlew build

错误:

/Users/.../source/v4.0/src/main/java/com/.../service/MyService.java:145: error: cannot find symbol
        log.info("Security Context: " + SecurityUtils.getCurrentUserLogin());
        ^
  symbol:   variable log
  location: class MyService

错误:

/Users/.../source/v4.0/src/main/java/com/.../service/MyService.java:105: error: cannot find symbol
        myClass.setDescription(description);
                        ^
  symbol:   method setDescription(String)
  location: variable myClass of type MyClass

服务类别:

import lombok.extern.slf4j.Slf4j; 
import org.springframework.stereotype.Service;

@Service
@Slf4j
public class MyService {      
    public void someMethod(){
        log.debug("Security Context: " + SecurityUtils.getCurrentUserLogin());
        MyClass myCLass = new MyClass();
        myClass.setDescription(description);
    }
}

实体类:

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name="t_juror_file_update")
@Getter
@Setter
@NoArgsConstructor
public class MyClass {

    private String description;

}

我已经想了几个小时了,但完全卡住了。任何帮助都将不胜感激。

共有3个答案

黄鸣
2023-03-14

我使用MacBook和Gradle 7.1.1。在build.gradle文件中,我添加了以下内容,没有插件,那么它就可以成功构建。

repositories {
    mavenCentral()
}

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.20'
    annotationProcessor 'org.projectlombok:lombok:1.18.20'
    
    testCompileOnly 'org.projectlombok:lombok:1.18.20'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.20'
}
颜黎昕
2023-03-14

您需要指定lombok作为注释处理器。为此,您需要将以下内容添加到build中。格雷德尔在一个Jhipster项目中。

apply plugin: 'net.ltgt.apt'

dependencies {    
    provided "org.projectlombok:lombok:$lombokVersion"
    apt "org.projectlombok:lombok:$lombokVersion"

    /** ... */
}

Jhipster使用net.ltgt.gradlegradle-apt-plugin进行注释处理。

对于IntelliJ设置,应选中启用注释处理

更多信息:Lombok项目-android说明

燕靖
2023-03-14

我也有同样的问题,当加入到构建中时,我为自己工作。格拉德尔:

dependencies{

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

}

资源:https://projectlombok.org/setup/gradle

 类似资料:
  • 我使用Gradle 4.10.2(但使用最新版本让它工作会很好)。这是我的gradle文件: 当我执行时,它会失败并出现很多错误。这些错误都是由于没有找到lombok自动生成的getter、setter等。如何解决这些错误?我看过其他关于这个问题的帖子,他们都建议将lombok依赖项添加为 使现代化 以下是我得到的几个错误: 日志应该来自注释。并且来自于在CarDto上注释的@Builder(Bu

  • 我正在尝试生成Spring启动应用程序的战争并将lombok用于getter setter。从终端运行gradle build命令并在所有getter setter和构造函数中获取错误,即。找不到符号。我正在使用STS并能够从st成功运行项目。但从命令行它会抛出100个错误。我在gradle文件中有lombok依赖项。 请帮我解决这个问题。 谢啦

  • 我有Android Studio 3.1.2 我有Kotlin 1.2.41-release-Studio3。1-1. ,我只使用kotlin kapt: 我的事件日志显示0个警告/错误: 这是输出: 我已经完成了所有的清理和重建工作。有一些警告,但与kapt无关。我可以先解决这些问题吗?

  • 我用android Studio 0.4.0创建了一个简单的android项目。我使用Gradle 1.9和Gradle Android插件0.7。昨天,我在gradle构建脚本中添加了Jake Wharton的Butternife库: 当我从Android Studio运行应用程序时,构建运行良好,并在我的设备上正确执行。但是当我尝试(从命令行)时,构建失败了。以下是我的林特报告中的一部分: 也

  • 我有以下课程: 为什么我无法在抽象类(< code>Parent)的实例上调用< code>toBuilder(),如下面的代码所示?

  • 我们有一个相当大的项目,使用maven、Spring boot、querydsl、lombok。我有两个分支,两个版本都编译成功。(>使用@Sl4j生成的log或。 我甚至不知道从哪里开始,所以任何关于如何确定错误的提示都是非常好的。当然,您还需要哪些进一步的信息来帮助? 编辑感谢到目前为止的提示,我现在尝试调整我们的pom。xml配置,使lombok由maven编译器插件的annotationP