java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger報錯
錯誤提示:
java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger報錯(lib包沒有導入)
第一步、檢查maven的配置:
maven管理的項目,里面已經引入了log4j的包
maven引入如下:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
<scope>compile</scope>
</dependency>
確定引入了log4j的包。
第二步、檢查builder的項目
在編譯的過程中,已經包括了log4j的包。
第三步、檢查部署
錯誤的項目是沒有maven dependencies這一項的,需要add,選擇add按鈕,
添加以后,然后,從新部署下項目。成功運行!
========================================
上面這些是網上找的,但是我並沒有用到。
但是另一個同事卻是用到了上文的 第三步 解決了同樣的問題,故在這里標記下。
我的問題是:
從svn檢出一個項目,運行就報錯, by cause :java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger
問題處理方法:
但是檢查項目,發現 jar 包都在,項目名上有個小紅叉號,但是項目里面代碼中又沒有問題,在 problems 窗口 顯示 是項目 編譯錯誤
檢查該項目的 pom 文件,發現 其依賴了兩個本地的其他maven項目,於是想着把 其依賴的另外兩個項目 maven install 一下,結果發現 install 居然報錯,無法安裝到 倉庫,
經過一番折騰,發現是 Eclipse的 preference中的 Java—— Installd JREs 中的 路徑配置成了 jre的目錄,將其改為 jdk 的目錄 后,再 install 就可以了。
將兩個被 依賴的 項目 install 完成后,再次 啟動原來報錯的目標項目,就不報錯了。