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

bas*_*win 19 eclipse slf4j lombok

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

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

Roe*_*ker 24

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

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

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

  • 我不知道你所说的“像 m2 eclipse 插件”是什么意思,但 lombok 不能成为常规插件,因为我们修改现有的 eclipse 代码而不是添加新功能。我们需要更改 eclipse java 解析器和编译器的字节码以允许代码完成等。否则我们将不得不更换整个 java 开发工具。 (2认同)
  • 如果我的是一个maven项目,为什么即使在pom中添加lambok jar作为依赖项之后我仍然需要一个eclipse插件?我不明白原因... (2认同)

Man*_*sal 10

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

  1. 按照此处的说明安装了 lombok.jar 。
  2. 尝试重新启动 Eclipse。(不工作)
  3. 尝试刷新 gradle 项目。(不工作)
  4. 尝试了 Hervian 在他的回答中建议的内容。(不工作)
  5. 关闭项目,从工作区中删除,然后重新导入。嘭!!工作了。


Her*_*ian 8

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

当然,我后来干脆删除了@Data注解。

  • 感谢您的回答。我能够通过运行干净的构建来解决我的问题。我的问题不在于 IDE,而在于构建本身。 (2认同)

vin*_*raw 6

我在 STS 环境中的日志和 @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 Clean启动 STS ,重建您的项目。