國慶假期前,代碼正常,並且在上正常運行。
國慶假期後第一天上班上午,發現項目偶爾起不來,沒在意,(過於粗心)
下午提測 test1 uat全部啓不來, 多試幾次,uat正常啓動。
下午 本地一直起不來,
開始重視問題 排查問題
同一套代碼,只是小改動,沒有理由啓動不來,
表象1:
cannot determine embedded database driver class for database type none
各種試 看問題, 問題還是偶爾會重現
把代碼切換至release分支(線上分支) 同樣啓動不了,
應該不是代碼問題,
看問題點: 查找資料;mybatis-plus 跟mybatis-boot 有衝突 但看代碼pom引入已經註釋掉了。
https://gitee.com/baomidou/mybatis-plus/issues/ITB8U
https://www.cnblogs.com/kmsfan/p/7189626.html
包括嘗試各種註釋pom引入 發覺肯定不對。
最後,有沒有可能是config-server假死問題, 之前碰到過,但是報錯表現不是如此, 果斷重啓兩臺config-server,信心滿滿已經找到問題所在,
但沒用,問題沒有得到解決。
第一次,把說有的jar check一遍 沒有發現問題
第二次,再check一遍,以爲發現問題,但結果無卵用。
這時候懷疑是不是idea的bug ,果斷重啓已經運行了快一個月的個人電腦,
並無卵用,但是表象信息變成
表象2:
Caused by: java.lang.ClassNotFoundException: org.mybatis.logging.LoggerFactory
再次用release分支,還是這個表象,
再次查找資料,基本確定
各種比較,同一套代碼,唯一可能是jar衝突問題,
這時候,去找把之前註釋過的pom.xml引入
問題再現;
下班後,樓下散步,再來重新check一遍,,並且針對性的查找是不是有
mybatis-spring-boot-starter
羊駝幾遍, 終於發現
在一個很隱蔽的jar內部 再次引入了這個個jar
果斷移除 問題得到解決
好坑呀, 消耗好幾個小時,
這個問題排查點難在於:
沒有做任何改動的一套代碼 ,突然出現問題了。 還不是必現問題,過渡相信代碼沒有問題。問題點沒有快速定位。
以後jar引入一定要慎重, 這個jar引入是在一個月前 另外一個同事引入的, 但是問題點在於: 爲什麼之前 一直沒有出現問題呢? 一定要等到國慶後纔有問題展現呢? jar衝突, 要考肉眼衝幾百個jar裏面去找,是非常不現實的。 由於是在不確定哪個jar衝突的時候,更是非常的目盲。
真奇葩了////////