升級到JDK8,編譯時間發生 Error:java: java.lang.ExceptionInInitializerError

來源:互聯網
上載者:User

標籤:lombok   解決   相容問題   arch   cin   except   uil   項目   font   

編譯的時候出現這個問題。使用1.7的jdk沒問題,但是由於po主的項目中,使用了java8編寫的代碼,解決java8相容問題成為解決這個問題的首選方案。

這個日誌太過簡單,只告知一個異常資訊,這個異常發生的原因主要是由於靜態類,靜態變數初始化時發生了異常,po的項目是個很早的項目,靜態類太多,無法直接定位異常資訊到底是如何產生,控制台也沒有輸出堆棧,這給排查問題帶來了極大的不便,第一個要解決的應該就是講詳細的堆棧資訊輸出,能方便的定位到問題的根源。

注意到第三條Infomation,Compliation completed with 1 error..... 這說明,異常產生時是在編譯階段,先去看看Idea的build的日誌。日誌的目錄在 

/Users/xxxx/Library/Logs/IdeaIC2016.1/build-log

開啟bulid.log,可以看到具體的異常的堆棧資訊。

 

從堆棧的資訊來看,lombok.javac.Javac.getCtcInt 應該是出現了類衝突的問題,這個類應該是IDEA的自有類發生的異常,是IDEA的Bug.

然後萬能的google下後,

https://intellij-support.jetbrains.com/hc/en-us/community/posts/205434150-IDEA-2016-3-compile-error-please-help-

這個同學發生了相同的問題,檢查了下我的IDEA的版本,這位同學的IDEA版本是 2016.3。po下我的:

IntelliJ IDEA 2016.1.1

Build #IC-145.597, built on March 29, 2016
JRE: 1.8.0_40-release-b132 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

版本還比較這位同學的要舊一些,所以!先升級一下IDEA吧!升級去了,待會來po是不是已經解決!

 

升級到JDK8,編譯時間發生 Error:java: java.lang.ExceptionInInitializerError

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.