@Slf4j找不到符号日志



我知道发布了针对基本相同错误的多个问题。但是,我不认为它们与我的问题相同。

简而言之,我正在尝试编译 oci-java-sdk 附带的示例之一。它不编译。似乎一个 jar 文件左右有 LOG 变量,所以我想知道在哪里可以找到 jar 文件。

以下是详细信息。首先,我使用的是Oracle Linux,并使用RPM安装了oci-java-sdk。之后,我将整个示例目录复制到我的主目录中。以下是我的 CLASSPATH 的样子:

$ echo $CLASSPATH
:/usr/lib64/java-oci-sdk/lib/oci-java-sdk-full-1.6.1.jar:/usr/lib64/java-oci-sdk/third-party/lib/*

出于我工作的需要,我正在尝试构建如下示例:

$ javac -Xlint -cp $CLASSPATH:$PWD/lombok.jar:/usr/share/java/*:/usr/share/java/slf4j/* ./EventsServiceExample.java

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

$ 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

这让我认为它找不到 LOG,它一定与 slf4j 相关。我已经安装了所有看起来像slf4j的RPM,但仍然没有运气。

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

我发现了更多这样的。大多数情况下,似乎每个IDE都有一些库,并且库和龙目岛应该与IDE一起配置良好。

我不应该使用任何IDE。我应该从命令行编译源代码。因此,我想我必须找到具有变量 LOG 的 jar 文件的上游在哪里。在那之后,希望我想找到一个有罐子的 RPM(如果有的话(。

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

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

这些示例将以下 lombok.config 与 OCI Java SDK 结合使用:https://github.com/oracle/oci-java-sdk/blob/master/lombok.config

最新更新