簡體   English   中英

@ Slf4j找不到符號LOG

[英]@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM