啟動tomcat,出現BeanCreationException以及NUllPointerException
信誓旦旦決定在CSDN上寫bolg記錄自己平時遇到的bug,結果那天之後居然就沒再寫過了,正好最近遇到個特別頭疼的bug,就趁著中秋放假,把它記錄下來吧。
問題描述:前一天還執行正常的一個maven專案,第二天啟動的時候出現瞭如下錯誤:
錯誤截圖:
主要是兩個:BeanCreationException以及NUllPointerException,下面還有系統自定義的錯誤,我就不貼了,試了很多方法,都沒有解決,走了很多彎路,
當時想司馬當活馬醫,乾脆直接從svn上下一個,再試試,可是svn壞了,只好硬著頭皮解決了。
解決方案:其實提示已經很明顯了,NullPointerException下面第一行就指明瞭空指標出現的位置,點選進入該類,發現定位到的那一行程式碼,呼叫了一個方法getRegion(),可能返回了一個null值,如下圖:
於是我根據業務邏輯,找到了該方法對應資料庫表格:
如上圖所示,node站點‘三亞氣象站’,對應的CODE_REGION值為null,所以才會出現bug。
結論:
1.不要覺得自己沒有修改程式,程式就不會報錯,因為在公司的開發中往往不止一你個人在使用同一個資料庫。因此檢視資料庫是否出現問題也是解決bug的一個方向。
2.不要隨意修改資料庫的資料,可能會對別人的專案產生影響。
3.不要因為沒有修改程式而理所應當的覺得程式碼應該是正確的,可能是其他不正確操作引起的bug,當然這種情況或許真的存在,但是也不要因此而忽視控制檯錯誤資訊給你的提示,程式碼或許是沒錯,但可能因為某一環節的變化,導致程式碼所表示的業務邏輯出現了問題,這樣或許就可以避免在不應該的地方浪費時間。
最後想問一個上次碰到過的,但現在無法重現的一個問題,如下圖所示:
我在project clean後,target資料夾上出現瞭如圖所示的標記,但是實在查不到這究竟是什麼意思,現在也無法重現,希望有知道的朋友能留言告訴我,不甚感激。