不能将Slf4j与lombok

时间:2017-11-01 03:21:09

标签: java intellij-idea slf4j lombok

我正在尝试使用项目lombok来生成类似示例here的记录器。

当我进入intelliJ时,我输入的log没有代码完成。我收到以下错误:

cannot resolve method 'debug(java.lang.String')

代码exerpt:

package com.example.clement.recipeproject.bootstrap;

import com.example.clement.recipeproject.domain.*;
import com.example.clement.recipeproject.repositories.CategoryRepository;
import com.example.clement.recipeproject.repositories.RecipeRepository;
import com.example.clement.recipeproject.repositories.UnitOfMeasureRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

@Slf4j
@Component
public class DevBootstrap implements ApplicationListener<ContextRefreshedEvent> {

    private CategoryRepository categoryRepository;
    private UnitOfMeasureRepository unitOfMeasureRepository;
    private RecipeRepository recipeRepository;

    public DevBootstrap(CategoryRepository categoryRepository, UnitOfMeasureRepository unitOfMeasureRepository, RecipeRepository recipeRepository) {
        this.categoryRepository = categoryRepository;
        this.unitOfMeasureRepository = unitOfMeasureRepository;
        this.recipeRepository = recipeRepository;
    }

    // returns List<Recipe>
    private List<Recipe> getRecipes() {

        log.debug("I am a debug message");

***更新:

添加了更多照片以显示slf4j日志即将出现,但之后没有合适的方法。

enter image description here enter image description here

当我跳进@ Slf4j时,我明白了。

enter image description here

注释处理器已开启,但不确定配置是否正确。

enter image description here

3 个答案:

答案 0 :(得分:1)

是否将slf4j依赖项添加到build.gradle,如下所示

dependencies {
    compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
    compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
}

答案 1 :(得分:0)

您确定从包lombok.extern.slf4j.Slf4j导入了正确的@ Slf4注释吗?

包groovy.util.logging.Slf4j中有一个相同名称的注释。

答案 2 :(得分:0)

您需要将Lombok和Slf4依赖项都添加到项目中。