33

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

我们是否必须进行任何其他设置?

4

5 回答 5

42

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

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

完全披露:我是Lombok 项目的开发人员之一。

于 2013-05-24T08:18:28.853 回答
9

在我的 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 存储库下载您的 .m2 位置的 lombok jar。路径将是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. 打开龙目岛对话框。如果看到消息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. 使用 Clean 启动 STS SpringToolSuite4.exe ,重建您的项目。

于 2019-10-17T09:12:41.903 回答
8

即使安装了 Lombok,我也遇到了同样的错误。对我来说,解决方案是在我的课程中添加另一个 lombok 注释(我使用 @Data),之后 eclipse 错误消失了。也许这股力量刷新了一些缓存。

当然,后来我只是简单地删除了@Data注解。

于 2018-06-27T11:18:44.073 回答
3

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

  1. 安装 lombok.jar 就像解释这里
  2. 尝试重新启动eclipse。(不工作)
  3. 尝试刷新 gradle 项目。(不工作)
  4. 在这里尝试了 Hervian 在他的回答中提出的建议。(不工作)
  5. 关闭项目,从工作区中删除,然后重新导入。砰!工作。
于 2020-08-08T13:24:18.060 回答
1

这通过添加 slf4j 依赖项解决了我的问题,Lombok 可以识别 slf4j 但无法下载,如果您使用的是 spring boot,那么对于 java 项目来说这是正确的,那么默认情况下会出现 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>
于 2019-11-17T14:36:42.337 回答