使用Lombok的@Slf4j和Eclipse构建:找不到符号日志

问题描述 投票:0回答:5

我在Eclipse中安装了lombok插件,并在java编译器下的Eclipse中启用了注释处理,但是当我使用@Slf4j注释时仍然无法识别日志语句。

我们还需要进行其他设置吗?

eclipse slf4j lombok
5个回答
48
投票

您还必须将 Lombok 安装到 Eclipse 中。

另请参阅此答案了解如何执行此操作或检查 Lombok 是否安装正确。

全面披露:我是 Project Lombok 开发者之一。


17
投票

我在 STS 环境中的 log 和 @Slf4j 上也遇到了类似的问题。为了解决这个问题,这是我在 spring 工具套件 (sts-4.4.0.RELEASE) 和 lombok-1.18.10.jar(mavenrepository 中提供的当前最新版本)上所做的操作。

  1. 如果有 Maven 项目,请确保添加 lombok 依赖项。否则,您需要手动将 jar 添加到项目类路径中。

    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
    <scope>provided</scope>
    </dependency>

  2. 干净构建 Maven 应用程序。默认情况下,这将从 Maven 存储库下载 lombok jar 到您的 .m2 位置。 路径将是

    org\projectlombok\lombok\1.18.10\

  3. 现在打开命令提示符并导航到lombok路径并执行命令

    java -jar lombok-1.18.10.jar

    C:\xxx\xxx\org\projectlombok\lombok\1.18.10>java -jar lombok-1.18.10.jar

  4. 打开 lombok 对话框。如果看到消息

    Can't find IDE
    点击
    Specify location...
    提供您的 STS 根位置的路径

    我的情况是这样的

    C:\apps\sts-4.4.0.RELEASE\SpringToolSuite.exe

    Install/Update

  5. 安装成功 单击退出安装程序

  6. 现在在资源管理器中导航到您的 STS 根路径。

    C:\apps\sts-4.4.0.RELEASE\
    我们看到
    lombok.jar
    放置在sts根路径中 现在在记事本中编辑
    SpringToolSuite4.ini
    文件 我们看到最后附加了以下内容

    -javaagent:C:\apps\sts-4.4.0.RELEASE\lombok.jar

  7. 使用

    SpringToolSuite4.exe
    启动 STS 清理,重建你的项目。


10
投票

和其他人一样,我也面临这个问题。以下是我所做的。

  1. 安装了lombok.jar,如here所述。
  2. 尝试重新启动 Eclipse。 (没用)
  3. 尝试刷新gradle项目。 (没用)
  4. 尝试了 Hervian 在他的回答中建议的内容这里。 (没用)
  5. 关闭项目,从工作区中删除,然后重新导入。嘭!!工作了。

1
投票

这通过添加 slf4j 依赖项解决了我的问题,Lombok 可以识别 slf4j 但无法下载,这对于 java 项目来说是正确的,如果您使用的是 spring boot,则默认情况下会出现 slf4j。

这是我的依赖项

    <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.25</version>
    </dependency>




    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.6</version>
        <scope>provided</scope>
    </dependency>

0
投票

我目前在 SpringToolSuite4 中使用 Spring 3.2 和 Java 17 安装lombok并像上面一样添加依赖项后,您需要导入lombok.Data库才能使日志工作:

import lombok.Data;
© www.soinside.com 2019 - 2024. All rights reserved.