Gradle 管理 Log4j2 注解之后不生效

问题描述:

1. 工具:IntelliJ IDEA 2021.3.1 (Ultimate Edition)

2. 平台:Windows、MacOS

3. 包管理工具:Gradle 

4. 代码

import lombok.extern.log4j.Log4j2;

@Log4j2 public class GsonHelper { public void test() { log.info("hello.world") } }

5. 报错信息 

6. 原始配置

dependencies {
    // https://mvnrepository.com/artifact/org.projectlombok/lombok
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.22'

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
    // https://mvnrepository.com/artifact/org.yaml/snakeyaml
    implementation group: 'org.yaml', name: 'snakeyaml', version: '1.8'
}

  

自学Java,然后没有太多基础,且刚开始使用gradle做为包管理工具(以前使用的是maven);

网络搜索:都是讲需要在Idea中安装lombok,或者启用注解等,针对IDEA没有提示log,应该是有用的,但是针对编译报错提示,对于我而言,是不能解决问题

根本原因是下面配置,因为我开始只加了编译,不知道还需要 annotationProcessor 也加上;

解决后配置

dependencies {
    // https://mvnrepository.com/artifact/org.projectlombok/lombok
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.22'
    annotationProcessor 'org.projectlombok:lombok:1.18.22'    # 重点一行

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
    // https://mvnrepository.com/artifact/org.yaml/snakeyaml
    implementation group: 'org.yaml', name: 'snakeyaml', version: '1.8'
}

  

REF:

https://stackoverflow.com/questions/14866765/building-with-lomboks-slf4j-and-intellij-cannot-find-symbol-log

原文地址:https://www.cnblogs.com/schangech/p/15777076.html