maven本地打包和jenkins的區別導致的問題

來源:本站原創 IT必備工具 超過924 views圍觀 0條評論

檢查兩個打包環境的nexus庫是不是同一個,如不是改成一樣就行

 

maven本地打包和jenkins打包不一樣大

 

開發一個jar項目,由于要做消息發送端,就引用了公司kafka基本組件jar包。在本地跑的時候,什么問題都沒有,然后提交代碼到測試環境jenkins打包部署,然后發現日志怎么都打不出來。

開始以為是測試環境的問題,可是這個項目之前是沒有問題的。折騰了半天,把自己本地maven打的zip包和jenkins打的包比較,發現兩個包里面的內容不一致。

最后檢查出來的原因是在本地打包的時候,maven拉的是公司私庫中的jar,而jenkins中如果配置了上層項目,那么它會直接到上層項目拉取內容打包,而不是到私庫中拉取。

這里的問題是,私庫中保存的jar是很老的版本,后期更新的時候沒有進行替換,導致兩個jar不一致。

上面是問題之一,如果只是上述情況,不一定會出現日志打不出的情況。比較私庫中的jar和jinkens生成的jar發現,早起的私庫中版本中沒有log4j.xml文件,在本地運行不會和開發項目中的log4j.xml文件沖突,所以能正常運行.測試環境中最新的kafka組件jar包增加了log4j.xml ,并且這個開發的項目的啟動腳本中,

nohup java $MEMORY $RMI -Dlog.home=$LOG_PATH -cp $JAR_LIST:$CONFIG_PATH $APP_CLASS 1>/dev/null 2>$PROJECT_PATH/ERROR&

先加載jar文件,后加載配置文件,jar中的配置文件如果和本地的配置文件重名,就有可能出現覆蓋的情況。

最后把啟動腳本里面加載順序更新之后,項目就能正常打印日志了

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文鏈接:http://www.qdxgqk.live/?p=3882轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
?
?
萌宠夺宝游戏