記一次由於maven打包引發的錯誤

4號清明放假前一天,快下班的時候,一個同事讓過去幫忙看個問題,覺得是個很簡單的問題。背景描述:咱們的開發環境是基於osgi框架,業務包先從開發環境通過maven打包再下載這個maven標準包。問題描述:新打好的包上到另一個環境,一個字段沒有初始化到數據庫中。開始一看,感受就是一些注意項沒配置,而後都看了下,好像都作了,可是就是沒初始化進去,看下日誌,就是這個字段沒有執行初始化操做。看了下開發環境的代碼, 沒問題。想着能夠遠程debug,可是手頭的環境沒有這個版本,git切一下分支也麻煩。而後就開始排錯了。
 1.開發環境的代碼沒問題,查查字段的配置文件在不在,也在的。
 2.看下maven打的包裏面,配置文件裏面,這個字段在不在。咦,jar包的修改時間是2018年12月31日是什麼鬼,問了下他,這個時間怎麼不對啊,他說爲了驗證個東西,須要需改時間。看來問題就是出在這了,由於我發佈了幾回,理論上,這個jar的修改時間應該是4月4日下午纔對,可是一直沒更新,看了下jar包文件裏面的字段配置文件,果真沒有那個字段。而後問題找到了。
 
 前幾個月,由於發佈性能優化,發現maven打包的時候,clean比較耗時間,考慮到日常業務場景,不clean也沒問題,而後每次打包的時候,就不clean了。package的時候,maven檢測到jar時間比較新,都不會直接去package了。而後我把target文件夾刪了,再從新發佈下,仍是報錯,此次是由於java代碼寫的有問題,打包直接報錯了,這也就驗證了我以前的猜測,打包的時候,若是目標jar包時間很新,就不會package了。修改了java語法錯誤,再次去發佈,一切ok了,那個字段也更新進去了。java

說實話,新版環境的maven打包繼續不會clean,可是我採用調用操做系統的命令刪除文件夾的操做刪除target,速度很快,可是有些win server啥的仍是有點問題,這個得繼續優化了。git

相關文章
相關標籤/搜索