[英]@Slf4j cannot find symbol LOG
我知道針對基本相同的錯誤發布了多個問題。 但是,我認為它們與我的問題不同。
簡而言之,我正在嘗試編譯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.jar
項目網站下載了lombok.jar
。 javac
命令失敗,如下所示:
$ 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很好地配置庫和lombok。
我不應該使用任何IDE。 我應該從命令行編譯源代碼。 因此,我想我必須找到具有變量LOG的jar文件的上游。 在那之后,希望能找到一個包含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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.