首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >@Slf4j找不到符号日志

@Slf4j找不到符号日志
EN

Stack Overflow用户
提问于 2019-08-31 21:12:44
回答 2查看 4.2K关注 0票数 1

我知道,对于本质上相同的错误,会发布多个问题。然而,我不认为它们与我的问题相同。

简而言之,我正在尝试编译附带的一个示例。它不编译。它似乎是一个jar文件,大约有日志变量,所以我想知道在哪里可以找到jar文件。

这是细节。首先,我使用了Oracle Linux,并在RPM中安装了.之后,我将整个示例目录复制到我的主目录中。下面是我的CLASSPATH的样子:

代码语言:javascript
运行
复制
$ echo $CLASSPATH
:/usr/lib64/java-oci-sdk/lib/oci-java-sdk-full-1.6.1.jar:/usr/lib64/java-oci-sdk/third-party/lib/*

为了满足我工作的需要,我正在努力构建以下示例:

代码语言:javascript
运行
复制
$ javac -Xlint -cp $CLASSPATH:$PWD/lombok.jar:/usr/share/java/*:/usr/share/java/slf4j/* ./EventsServiceExample.java

如上所示,我已经从lombok项目网站下载了lombok.jarjavac命令失败如下:

代码语言:javascript
运行
复制
$ javac -Xlint -cp $CLASSPATH:$PWD/lombok.jar:/usr/share/java/*:/usr/share/java/slf4j/* ./EventsServiceExample.java 
./EventsServiceExample.java:83: error: cannot find symbol
        LOG.info("Number of rules in compartment {} is {}", compartmentId, rulesList.size());
        ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:135: error: cannot find symbol
            LOG.info(
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:143: error: cannot find symbol
            LOG.error(
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:164: error: cannot find symbol
            LOG.error("Failed to retrieve the Rule {}", ruleId, e);
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:188: error: cannot find symbol
            LOG.info("Rule {} was updated", ruleId);
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:192: error: cannot find symbol
            LOG.error("Failed to update rule {} with displayName {}", ruleId, newDisplayName, e);
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:217: error: cannot find symbol
            LOG.error("Failed to list rules in compartment {}", compartmentId, e);
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:232: error: cannot find symbol
            LOG.info("Rule {} was deleted", ruleId);
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
./EventsServiceExample.java:234: error: cannot find symbol
            LOG.error("Failed to delete rule {}", ruleId, e);
            ^
  symbol:   variable LOG
  location: class EventsServiceExample
9 errors

这让我觉得它找不到日志,这肯定是与slf4j相关的地方。我已经安装了所有slf4j外观类似的RPM,但仍然没有运气。

下面的链接是其他人抱怨相同错误消息的一个例子:intellij-14-lombok-slf4j-cannot-find-symbol-log

我发现更像这样。大多数情况下,似乎每个IDE都有一些库,库& lombok应该配置得很好。

我不应该使用任何IDE。我应该从命令行编译源代码。因此,我想我必须找到包含变量LOG的jar文件的上游位置。在此之后,希望我能找到一个RPM,如果有的话,它有jar。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-01 00:52:05

Lombok和Groovy的@Slf4j注释都添加了一个名为log的成员,而不是LOG

票数 5
EN

Stack Overflow用户

发布于 2019-09-03 19:52:05

虽然不将字段名设置为默认值,但在构建示例时,可以通过将lombok.log.fieldName配置为LOG来覆盖字段名。

示例在OCI中使用以下lombok.config:https://github.com/oracle/oci-java-sdk/blob/master/lombok.config

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57741629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档