最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決因缺少Log4j依賴導(dǎo)致應(yīng)用啟動(dòng)失敗的問(wèn)題

 更新時(shí)間:2017年04月03日 12:00:37   作者:rhwayfunn  
日志是應(yīng)用軟件中不可缺少的部分,Apache的開(kāi)源項(xiàng)目log4j是一個(gè)功能強(qiáng)大的日志組件,提供方便的日志記錄。但這篇文章不是介紹Log4j,這篇文章主要介紹了關(guān)于因缺少Log4j依賴導(dǎo)致應(yīng)用啟動(dòng)失敗問(wèn)題的相關(guān)資料,需要的朋友可以參考下。

前言

最近公司在做版本升級(jí),所有對(duì)aaa(指代某個(gè)內(nèi)部依賴)有依賴的應(yīng)用需要排除掉。從這點(diǎn)看,幾乎不會(huì)有什么問(wèn)題,因?yàn)閮H僅是排除一些maven依賴而已嘛。但是,一位同學(xué)在排除依賴的時(shí)候,僅僅是把a(bǔ)aa排除了,而沒(méi)有在測(cè)試環(huán)境進(jìn)行測(cè)試,在線上發(fā)布的時(shí)候,日志報(bào)dubbo服務(wù)注冊(cè)失?。⊕伄惓:蚫ubbo admin沒(méi)有看到注冊(cè)的服務(wù)),導(dǎo)致應(yīng)用啟動(dòng)失?。ɑ貪L后正常),影響正常業(yè)務(wù)5分鐘。

事后排查這個(gè)問(wèn)題的時(shí)候發(fā)現(xiàn),有兩個(gè)原因?qū)е铝藨?yīng)用啟動(dòng)失?。?/strong>

  1. 去除aaa依賴后,導(dǎo)致應(yīng)用有多個(gè)slf4j的依賴
  2. 去除aaa依賴后,導(dǎo)致log4j依賴缺失(應(yīng)用使用logback)

第一點(diǎn)很好解決,因?yàn)閺膃rror日志可以直接知道原因,修改pom依賴并把非logback實(shí)現(xiàn)的日志依賴排掉就好了。

但是,第二點(diǎn)折騰了一下午才最終確定是因?yàn)閘og4j依賴缺失導(dǎo)致的。

下面把排查過(guò)程記錄如下:

把應(yīng)用回滾后正常,那么問(wèn)題肯定出在回滾之后的提交上,經(jīng)過(guò)和正常版本的代碼的diff,發(fā)現(xiàn)只有zkclient的版本不同。

異常版本的依賴是如下:

<dependency>
 <groupId>com.github.sgroschupf</groupId>
 <artifactId>zkclient</artifactId>
 <version>0.1</version>
</dependency>

正常的依賴是:

<dependency>
 <groupId>com.101tec</groupId>
 <artifactId>zkclient</artifactId>
 <version>0.10</version>
</dependency>

分析到這里,已經(jīng)有了解決思路,一種是直接修改zkclient的依賴,一種是繼續(xù)分析為什么兩種版本的不同會(huì)導(dǎo)致應(yīng)用啟動(dòng)失敗。通過(guò)繼續(xù)分析,發(fā)現(xiàn)groupId為com.101tec的日志框架使用的是Slf4j,而groupId為com.github.sgroschupf的日志框架是Log4j,而那位同事在排除aaa依賴的時(shí)候順便把log4j的依賴也排掉了,所以才導(dǎo)致應(yīng)用啟動(dòng)失敗。

com.github.sgroschupf的log框架:

com.101tec的log框架:

再回到剛開(kāi)始dubbo注冊(cè)服務(wù)失敗的問(wèn)題,一切都明了了——因?yàn)榘裭og4j依賴排掉了,導(dǎo)致dubbo使用zkclient注冊(cè)服務(wù)的時(shí)候因?yàn)闊o(wú)法初始化Log4j,導(dǎo)致無(wú)法初始化ZkClient,進(jìn)而導(dǎo)致dubbo注冊(cè)失敗。

通過(guò)這個(gè)事件,獲得如下教訓(xùn):

  1. 盡量在一個(gè)系統(tǒng)內(nèi)使用同一個(gè)日志框架
  2. 如果是依賴jar有不同的日志實(shí)現(xiàn),使用更高版本的依賴
  3. 發(fā)布之前一定要記得在測(cè)試環(huán)境進(jìn)行測(cè)試

總結(jié)

以上就是關(guān)于因缺少Log4j依賴導(dǎo)致應(yīng)用啟動(dòng)失敗的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Java中的Native關(guān)鍵字講解

    Java中的Native關(guān)鍵字講解

    本文介紹了Java中的Native關(guān)鍵字,native關(guān)鍵字是架起本機(jī)語(yǔ)言和JAVA之間鴻溝的橋梁。如果我們的軟件與硬件的交互在使用預(yù)先存在的代碼時(shí)更有效,那么這可以作為一個(gè)關(guān)鍵環(huán)節(jié)。與從頭開(kāi)始設(shè)計(jì)新的應(yīng)用程序代碼相比,只要可以避免,它就可以使實(shí)現(xiàn)工作更少,下面來(lái)了解集體內(nèi)容
    2021-12-12
  • Java學(xué)習(xí)筆記之觀察者模式

    Java學(xué)習(xí)筆記之觀察者模式

    這篇文章主要為大家詳細(xì)介紹了Java學(xué)習(xí)筆記之觀察者模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • mybatis-plus id主鍵生成的坑

    mybatis-plus id主鍵生成的坑

    這篇文章主要介紹了mybatis-plus id主鍵生成的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Springboot如何切換默認(rèn)的Tomcat容器

    Springboot如何切換默認(rèn)的Tomcat容器

    這篇文章主要介紹了Springboot如何切換默認(rèn)的Tomcat容器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MyBatis如何使用(一)

    MyBatis如何使用(一)

    這篇文章主要介紹了MyBatis如何使用(一)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • 詳解如何保證Java本地緩存的一致性

    詳解如何保證Java本地緩存的一致性

    所謂的一致性是指在同時(shí)使用緩存和數(shù)據(jù)庫(kù)的場(chǎng)景下,要確保數(shù)據(jù)在緩存與數(shù)據(jù)庫(kù)中的更新操作保持同步,那么,怎么保證Java本地緩存的一致性?所以本文將給大家介紹了如何保證Java本地緩存的一致性,需要的朋友可以參考下
    2024-01-01
  • idea中使用git合并分支實(shí)踐

    idea中使用git合并分支實(shí)踐

    這篇文章主要介紹了idea中使用git合并分支實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Windows編寫(xiě)jar啟動(dòng)腳本和關(guān)閉腳本的操作方法

    Windows編寫(xiě)jar啟動(dòng)腳本和關(guān)閉腳本的操作方法

    腳本文件,通常放入/bin目錄下,編寫(xiě)啟動(dòng)腳本需要保證能夠識(shí)別到對(duì)應(yīng)的jar文件,其次需要保證能夠識(shí)別到/config中的配置文件信息,這篇文章主要介紹了Windows編寫(xiě)jar啟動(dòng)腳本和關(guān)閉腳本的操作方法,需要的朋友可以參考下
    2022-12-12
  • Java下載項(xiàng)目中靜態(tài)文件方式

    Java下載項(xiàng)目中靜態(tài)文件方式

    這篇文章主要介紹了Java下載項(xiàng)目中靜態(tài)文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • eclipse 中的javac命令與java命令

    eclipse 中的javac命令與java命令

    這篇文章主要介紹了eclipse javac命令與java命令的相關(guān)資料,需要的朋友可以參考下
    2016-12-12

最新評(píng)論

石阡县| 修武县| 邵东县| 通州市| 大方县| 巴林左旗| 安远县| 阿合奇县| 苏尼特左旗| 海林市| 柳江县| 亚东县| 长海县| 抚州市| 永州市| 蒙山县| 临泉县| 龙游县| 射阳县| 秦皇岛市| 灌云县| 五家渠市| 岑巩县| 丽江市| 永寿县| 台前县| 贵阳市| 镇平县| 陕西省| 确山县| 元氏县| 黄冈市| 彩票| 江陵县| 高陵县| 霍林郭勒市| 巴里| 霍山县| 武冈市| 清新县| 长阳|