解決出現(xiàn) java.lang.ExceptionInInitializerError錯誤問題
解決出現(xiàn) java.lang.ExceptionInInitializerError錯誤問題
今天啟動一個項目... 在啟動的時候報錯... 查了半天錯誤信息 一直是說hibernate緩存管理出錯..
最后查看啟動時候的log 發(fā)現(xiàn)在程序中報Java.lang.ExceptionInInitializerError
查看原因 最后是因為自己修改了靜態(tài)常量是系統(tǒng)啟動的時候自動獲取properties值 結(jié)果獲取錯誤 導(dǎo)致其在代碼編譯的時候造成出錯
錯誤代碼:
public static final String message = getMessage("ok_oj");
原因分析:
message是一個靜態(tài)常量. 在系統(tǒng)編譯此類的時候 首先會加載靜態(tài)常量 存放到 內(nèi)存靜態(tài)域之中.
但是因為在啟動的時候getMessage返回一個null 使其導(dǎo)致報錯java.lang.ExceptionInInitializerError
下面再說java.lang.ExceptionInInitializerError這個錯誤提示
之前很少碰到之類異常信息提示 于是網(wǎng)上搜索了下 這個錯誤表示初始化異常和空指針錯誤
查看API 其是這樣描述此異常的
靜態(tài)初始化程序中發(fā)生意外異常的信號。拋出 ExceptionInInitializerError 表明在計算靜態(tài)初始值或靜態(tài)變量的初始值期間發(fā)生異常。
public class ExceptionInInitializerErrorextends LinkageError
可以看出 他是繼承于LinkageError
對于LinkageError有給出了描述 顯而易見的指出了問題的所在
LinkageError 的子類指示一個類在一定程度上依賴于另一個類;但是,在編譯前一個類之后,后一個類發(fā)生了不相容的改變。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
idea中service或者mapper引入報紅的問題及解決
在使用IntelliJ IDEA開發(fā)SpringBoot項目時,有時會遇到Service或Mapper接口引入時報紅但不影響項目運行的情況,這主要是因為IDEA的檢查級別設(shè)置問題,解決方法是將有問題的Error級別改為編譯通過的安全級別,即可消除報紅2024-09-09淺談Storm在zookeeper上的目錄結(jié)構(gòu)
這篇文章主要介紹了淺談Storm在zookeeper上的目錄結(jié)構(gòu)的相關(guān)內(nèi)容,涉及storm使用zookeeper的操作以及詳細(xì)結(jié)構(gòu)圖,具有一定參考價值,需要的朋友可以了解下。2017-10-10java多態(tài)性中的Overload和Override區(qū)別詳解
這篇文章主要介紹了java多態(tài)性中的Overload和Override區(qū)別詳解,重寫(Overriding)是父類與子類之間多態(tài)性的一種表現(xiàn),而重載(Overloading)是一個類中多態(tài)性的一種表現(xiàn),需要的朋友可以參考下2023-07-07

利用Java實現(xiàn)解析網(wǎng)頁中的內(nèi)容

mybatis返回類型map時如何將key大寫轉(zhuǎn)為小寫

基于Spring Boot使用JpaRepository刪除數(shù)據(jù)時的注意事項