記一次項目啓動報java.lang.StackOverflowError

項目是spring boot,以前沒有問題,忽然有一次debug方式啓動的時候報這個錯誤。html

由於其餘同事沒有問題,線上也沒有問題,因此先排除了是代碼問題。java

開始覺得電腦開的軟件太多,而後給jvm的內存過小,嘗試關閉多個軟件無果後,重啓電腦,電腦啓動後只打開idea,啓動項目,錯誤依舊。spring

後面嘗試手動設置jvm啓動參數,設置了xms、xmx等參數後依然無效。apache

仔細觀察啓動過程,發現錯誤出如今編譯的時候。測試不啓動項目,直接rebuild project,也報一樣的錯誤。這時候確認是編輯過程哪裏出了問題。oracle

maven clean一下,再package一下。發現package最後會報一個錯誤:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:jvm

查看pom文件,有這麼幾個propertiesmaven

<maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <java.version>1.8</java.version>

打開idea的settings,查找java compiler,發現其設置的就是1.8,再打開project structures,發現project sdk是jdk11,猜想是不是這裏有問題?趕忙到oracle的官網下載對應版本的jdk(8.0),在等待下載的過程當中,首先測試修改了project structures的language level,設置成8-lambdas****,應用以後重啓項目,結果項目啓動。。問題解決。ide

核心:設置項目的編譯級別和pom設置的一致(1.8),測試

設置language level也和pom一致ui

原文地址:https://blog.easytake.top/245.html#more-245

相關文章
相關標籤/搜索