1. 程式人生 > >java專案啟動時,java.lang.StackOverflowError 解決辦法

java專案啟動時,java.lang.StackOverflowError 解決辦法

之前做的一個專案,一切正常。有天在啟動時,突然報錯了。

報錯資訊如上

看日誌猜測是資料庫連線池爆了,然後改資料庫連線池配置,沒有用。

一想到是棧溢位,想可能是記憶體小了,重新分配idea、tomcat記憶體,沒有用。

然後去百度,別人都說是遞迴等方法層級太深,可是我同事都跑的好好的,應該不是這個問題。

然後換tomcat,沒有用,重新下載專案,沒有用,這時候就很鬱悶了,搞了一天,沒有任何進展,還是一樣報錯。

於是去谷歌上面的報錯的紅色字型  *** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844

不會吧,怎麼又扯到jdk了。突然想起來上次重灌系統配置環境變數後遇到一件很有意思的事情,就是在cmd裡面敲java是不識別的,表示環境變數沒有配好,但是以管理員身份開啟powershell,敲java命令又正常的,我試著去跑專案,也是正常的。當時就沒管了。然後我重新下載了jdk,在重新安裝的時候,發現路徑與之前的jdk路徑不一樣,這次是在C:\Program Files\Java,上次是在C:\Program Files (x86)\Java。瞬間懵逼了,難不成我上次下載的是32位的jdk嗎?應該是的。然後配好環境變數,果然,現在cmd裡面敲java是正常的。然後跑專案,也正常了。嗯,長個記性,下次下載jdk一定要看是不是64位的。