精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JAR沖突問題的解決以及運(yùn)行狀態(tài)下如何查看加載的類

開發(fā) 開發(fā)工具
今天碰到群里小伙伴問,線上程序好像有多個(gè)不同版本的Netty包,怎么去看到底加載了哪一個(gè)?

[[376071]]

今天碰到群里小伙伴問,線上程序好像有多個(gè)不同版本的Netty包,怎么去看到底加載了哪一個(gè)?

在說如何看之前,先來說說,當(dāng)你開始意識到項(xiàng)目里有多個(gè)不同版本的Jar包,都是因?yàn)橛龅搅诉@幾個(gè)異常:

  • 1、java.lang.NoSuchMethodException:自己代碼中調(diào)用了某個(gè)方法,因?yàn)榧虞d了其他版本的jar,這個(gè)版本正好沒這個(gè)方法。
  • 2、java.lang.NoClassDefFoundError:編譯時(shí)候是好的,但是運(yùn)行的時(shí)候,因?yàn)榧虞d的jar版本問題,沒有這個(gè)類。
  • 3、java.lang.ClassNotFoundException:在動態(tài)加載某個(gè)Class的時(shí)候,因?yàn)橐虞d的jar不是正確的版本,而導(dǎo)致找不到這個(gè)類。

當(dāng)你在本地運(yùn)行ok,但到服務(wù)器上發(fā)現(xiàn)出現(xiàn)這些錯(cuò)誤的時(shí)候,就要意識到很可能是jar沖突了(有相同依賴存在多個(gè)版本)。這個(gè)問題往往也會有這樣的表現(xiàn):多實(shí)例部署的時(shí)候,有的實(shí)例是好的,有的實(shí)例則不行。

查看加載的類和方法

根據(jù)之前分析的異常種類,我們可以去運(yùn)行中的現(xiàn)場確認(rèn)當(dāng)前加載的問題。

這里我們可以使用阿里開源的Arthas工具,如果第一次用,那么按下面操作先安裝再運(yùn)行:

  1. curl -O https://arthas.aliyun.com/arthas-boot.jar 
  2. java -jar arthas-boot.jar 

運(yùn)行好之后,會打印出當(dāng)前運(yùn)行著的java應(yīng)用,比如:

  1. [INFO] arthas-boot version: 3.4.6 
  2. [INFO] Process 40611 already using port 3658 
  3. [INFO] Process 40611 already using port 8563 
  4. [INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER. 
  5. * [1]: 40611 chapter4-3-0.0.1-SNAPSHOT.jar 
  6.   [2]: 37786 

通過輸入編號選擇要查看的java應(yīng)用,比如這里選擇:1,進(jìn)入到chapter4-3-0.0.1-SNAPSHOT.jar中去。

下面介紹兩個(gè)重要命令:

第一個(gè):sc命令,我們確認(rèn)一下可能沖突的jar包下面,是否有對應(yīng)的class。有些不同版本包下class就不一樣,馬上就可以分辨出來。

比如,通過下面的命令,我們查看一下com.didispace包下有什么類:

  1. [arthas@40611]$ sc com.didispace.* 
  2. com.didispace.chapter43.Chapter43Application 
  3. com.didispace.chapter43.Chapter43Application$$EnhancerBySpringCGLIB$$8b82b194 
  4. com.didispace.chapter43.UploadController 
  5. Affect(row-cnt:3) cost in 6 ms. 

第二個(gè):sm命令,查看具體某個(gè)類有哪些方法。有的版本差異就是去掉了某個(gè)方法,這個(gè)時(shí)候我們就可以通過這個(gè)命令來查看。

比如,通過下面的命令,我們查看一下com.didispace.chapter43.UploadController類下有些什么方法:

  1. [arthas@40611]$ sm com.didispace.chapter43.UploadController 
  2. com.didispace.chapter43.UploadController <init>()V 
  3. com.didispace.chapter43.UploadController create(Lorg/springframework/web/multipart/MultipartFile;)Ljava/lang/String; 
  4. com.didispace.chapter43.UploadController uploadPage()Ljava/lang/String; 
  5. Affect(row-cnt:3) cost in 5 ms. 

找到?jīng)_突并解決沖突

在確認(rèn)完是加載錯(cuò)誤的情況下,我們要去解決沖突。那么解決沖突要做的就是找到到底哪里沖突了以及我們要去除或者強(qiáng)制

找出版本沖突的方法:使用Maven命令:mvn -U dependency:tree -Dverbose。

命令執(zhí)行之后,會在控制臺以樹狀形式列出所有依賴內(nèi)容,然后通過搜索的方式查找沖突的包,看看都是從哪個(gè)依賴中帶進(jìn)來的(在IDEA中搜索會高亮,更容易找到)。

  1. [INFO] com.didispace:chapter4-3:jar:0.0.1-SNAPSHOT 
  2. [INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.4.1:compile 
  3. [INFO] |  +- org.springframework.boot:spring-boot-starter:jar:2.4.1:compile 
  4. [INFO] |  |  +- org.springframework.boot:spring-boot:jar:2.4.1:compile 
  5. [INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.4.1:compile 
  6. [INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:2.4.1:compile 
  7. [INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.2.3:compile 
  8. [INFO] |  |  |  |  \- ch.qos.logback:logback-core:jar:1.2.3:compile 
  9. [INFO] |  |  |  +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.13.3:compile 
  10. [INFO] |  |  |  |  \- org.apache.logging.log4j:log4j-api:jar:2.13.3:compile 
  11. [INFO] |  |  |  \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile 
  12. [INFO] |  |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile 
  13. [INFO] |  |  \- org.yaml:snakeyaml:jar:1.27:compile 
  14. [INFO] |  +- org.springframework.boot:spring-boot-starter-json:jar:2.4.1:compile 
  15. [INFO] |  |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.11.3:compile 
  16. [INFO] |  |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.3:compile 
  17. [INFO] |  |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.11.3:compile 
  18. [INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.11.3:compile 
  19. [INFO] |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.3:compile 
  20. [INFO] |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.3:compile 
  21. [INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.4.1:compile 
  22. [INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.41:compile 
  23. [INFO] |  |  +- org.glassfish:jakarta.el:jar:3.0.3:compile 
  24. [INFO] |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.41:compile 
  25. [INFO] |  +- org.springframework:spring-web:jar:5.3.2:compile 
  26. [INFO] |  |  \- org.springframework:spring-beans:jar:5.3.2:compile 
  27. [INFO] |  \- org.springframework:spring-webmvc:jar:5.3.2:compile 
  28. [INFO] |     +- org.springframework:spring-aop:jar:5.3.2:compile 
  29. [INFO] |     +- org.springframework:spring-context:jar:5.3.2:compile 
  30. [INFO] |     \- org.springframework:spring-expression:jar:5.3.2:compile 
  31. [INFO] +- org.springframework.boot:spring-boot-starter-thymeleaf:jar:2.4.1:compile 
  32. [INFO] |  +- org.thymeleaf:thymeleaf-spring5:jar:3.0.11.RELEASE:compile 
  33. [INFO] |  |  +- org.thymeleaf:thymeleaf:jar:3.0.11.RELEASE:compile 
  34. [INFO] |  |  |  +- org.attoparser:attoparser:jar:2.0.5.RELEASE:compile 

解決版本沖突的方式主要兩種:

  • 1、通過上面的命令找到不需要的版本之后,在引入的依賴中,使用exclusions將其排除,比如下面這樣:
  1. <dependency> 
  2.         <groupId>org.springframework.boot</groupId> 
  3.         <artifactId>spring-boot-starter-jdbc</artifactId> 
  4.         <exclusions> 
  5.                 <exclusion> 
  6.                         <groupId>xxx</groupId> 
  7.                         <artifactId>yyy</artifactId> 
  8.                 </exclusion> 
  9.         </exclusions></dependency> 
  • 2、在pom.xml中強(qiáng)制指定要使用的版本,這樣這個(gè)優(yōu)先級最高,就不會引入其他版本要帶進(jìn)來的版本了。

 

好了,今天的分享到這里結(jié)束了,希望對你有所幫助。如果您覺得本文有用,歡迎轉(zhuǎn)發(fā)擴(kuò)散!

 

責(zé)任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2020-07-03 07:59:01

Linux服務(wù)systemd

2011-04-01 16:23:14

Cacti監(jiān)控Nginx

2010-06-09 17:01:48

路由選擇協(xié)議

2014-08-13 14:48:01

LinuxShell腳本

2010-08-16 14:16:28

DB2實(shí)例

2019-06-03 15:52:21

WindowsLinux端口

2021-10-05 22:09:31

Jar加載機(jī)制

2023-06-15 08:06:55

gogolang通信

2010-08-23 10:27:14

恢復(fù)IOS

2011-09-08 18:28:03

windowsXP鎖定狀態(tài)

2012-02-09 10:31:17

Java

2009-08-28 16:16:02

線程運(yùn)行狀態(tài)

2012-03-06 09:20:02

ibmdw

2013-05-21 10:49:59

Windows硬件沖突

2019-12-01 22:08:04

Mavenjar包開發(fā)

2023-10-10 09:19:59

日志Java

2011-03-25 13:26:45

Cacti

2025-03-31 04:25:00

2018-05-18 10:22:39

沖突游戲服務(wù)器

2022-04-06 21:29:44

邊緣計(jì)算數(shù)據(jù)存儲數(shù)據(jù)中心
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

国产精品久av福利在线观看| 国产在线观看免费网站| 欧美激情 亚洲a∨综合| 欧美不卡在线视频| 精品无码一区二区三区在线| 久久久久久青草| 精品影视av免费| 亚洲黄一区二区三区| aa成人免费视频| 日韩人妻精品中文字幕| 亚洲精品成人| 精品视频在线导航| 在线视频观看一区二区| 麻豆网站免费在线观看| 亚洲国产精品成人综合| 国产精品99久久久久久久| 成人av网站在线播放| 欧美成人综合| 国产亚洲a∨片在线观看| 国产精品一色哟哟| 国产精品热久久| 亚洲欧洲综合| 久久精品国产一区二区电影| 成人影视免费观看| 日韩三级久久| 欧美色综合天天久久综合精品| 国产精品视频一二三四区| 免费在线国产| 国产91对白在线观看九色| 久久天天躁狠狠躁老女人| 亚洲精品在线视频免费观看| 91精品网站在线观看| 亚洲一二三区在线观看| 亚洲一区影院| 伊人精品在线视频| 国产一区二区你懂的| 九九热精品视频在线播放| 国产三级aaa| 99视频这里有精品| 在线区一区二视频| 国产精品无码av在线播放| 污污网站在线看| 最好看的中文字幕久久| 手机在线观看国产精品| 狠狠色伊人亚洲综合网站l| 播五月开心婷婷综合| 亚洲一区二区三区777| 亚洲在线免费观看视频| 日韩高清欧美激情| 日本国产一区二区三区| 国产一区二区三区影院| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲精品电影网在线观看| 亚洲五月激情网| 深夜福利亚洲| 欧美理论片在线| 最新天堂在线视频| 四虎精品在线观看| 91精品久久久久久蜜臀| 一级做a免费视频| 日韩在线电影| 91精品国产综合久久精品图片| 一区二区免费av| 日本午夜精品久久久久| 欧美精品久久久久久久多人混战 | 粉嫩av性色av蜜臀av网站| 欧美第十八页| 久久色在线播放| 日韩在线观看视频一区二区| 亚洲欧美一区在线| 欧美精品久久久久| 91九色丨porny丨肉丝| 99精品国产一区二区青青牛奶| 91av视频在线| 无码人妻黑人中文字幕| 另类小说视频一区二区| 欧美刺激性大交免费视频| 日本精品人妻无码77777| 综合av在线| 午夜免费久久久久| 亚洲精品国产无码| 亚洲视频福利| 91国产美女视频| 色老头在线视频| 精品一区二区在线看| 97视频热人人精品| av女名字大全列表| 国产视频一区二区三区在线观看| 亚洲一区二区自拍偷拍| www.久久ai| 日韩欧美一区二区在线| 亚洲黄色av片| 精品按摩偷拍| 日韩无一区二区| 玖玖爱在线精品视频| gogogo高清在线观看一区二区| 日韩在线播放一区| 伊人国产在线观看| 免费成人在线视频观看| 99国产高清| 欧洲一区av| 一区二区在线看| 日本成人在线免费视频| 中文字幕视频精品一区二区三区| 亚洲天堂免费视频| 青草草在线视频| 亚洲一区二区免费看| 国产在线一区二区三区| 亚洲aaaaaaa| 亚洲精品第1页| 91在线视频观看免费| av成人app永久免费| 中文字幕欧美日韩va免费视频| 久久亚洲AV无码| 老司机午夜精品| 老司机精品福利在线观看| 亚洲精品久久久蜜桃动漫| 久久久噜噜噜久久中文字幕色伊伊| 国产精品夜夜夜爽张柏芝| 亚洲欧洲美洲av| 欧美一二三四在线| www.xx日本| 久久狠狠婷婷| 国产伦精品一区二区三区在线| 中文字幕日本在线观看| 日韩欧美精品在线观看| 五月天丁香花婷婷| 日韩精品欧美激情一区二区| 91成人国产在线观看| 高清一区二区三区四区| 亚洲精品中文字幕在线观看| 亚洲国产精品女人| 欧美xnxx| 亚洲人成电影在线播放| 免费在线不卡视频| 成人白浆超碰人人人人| 国产 国语对白 露脸| 精品一区二区三区四区五区| 中文精品99久久国产香蕉| 好看的av在线| 91欧美一区二区| 九九爱精品视频| 盗摄牛牛av影视一区二区| 九九久久综合网站| www.国产.com| 亚洲黄色免费网站| 日本一本在线视频| 欧美日韩综合| 不卡一区二区三区视频| 国产蜜臀av在线播放| 午夜精品久久久久久久久| 国产精品一级无码| 国产一区二区三区四区三区四| 亚洲一区二区三区视频播放| dy888亚洲精品一区二区三区| 欧美高清dvd| 北条麻妃在线观看视频| 精品一二三四区| 国产在线视频欧美一区二区三区| 激情av在线播放| 精品国产免费视频| 日本少妇性生活| 91麻豆精品在线观看| 久久国产色av免费观看| 精品国产乱码久久久| 国产精品自拍网| 黄色在线免费| 日韩精品一区二区三区视频在线观看| 久久久久久久久久久久国产| 成人免费视频播放| 日本网站免费在线观看| 国产a久久精品一区二区三区 | 日本亚洲色大成网站www久久| 99视频精品免费视频| 无码人妻丰满熟妇区五十路百度| 国产成人精品免费视| 国产久一一精品| 亚洲电影视频在线| 日韩国产欧美精品一区二区三区| 怡红院av久久久久久久| 国产精品高清亚洲| 999久久欧美人妻一区二区| eeuss鲁片一区二区三区| 97av在线视频免费播放| www 日韩| 欧美大片日本大片免费观看| 国产午夜性春猛交ⅹxxx| 国产精品日日摸夜夜摸av| 一个人看的视频www| 中文在线一区| 精品一区二区成人免费视频| 国产精品视屏| 国产拍精品一二三| av老司机在线观看| 中文字幕国产亚洲| 黄色av一区二区三区| 欧美亚洲日本国产| 欧美日韩免费做爰视频| 国产亚洲精品资源在线26u| 精品人妻一区二区乱码| 爽好久久久欧美精品| 在线观看成人免费| 在线免费看毛片| 欧美另类tv| 色8久久人人97超碰香蕉987| www.97视频| 91色婷婷久久久久合中文| 中文字幕亚洲欧洲| 国产精品一二| 久久综合久久网| 久久网站免费观看| 久久草视频在线看| av每日在线更新| 亚洲第一免费播放区| 国产精品人人妻人人爽| 91久久人澡人人添人人爽欧美| 91精品国产高清一区二区三蜜臀| 国产日韩欧美综合在线| 成人在线视频免费播放| 国产伦理精品不卡| www欧美激情| 精品久久网站| 黄色91av| 99re8这里有精品热视频免费| 国产精品自产拍在线观看| 中日韩脚交footjobhd| 欧美极品美女电影一区| 黄色网页在线播放| 中文字幕一区日韩电影| 久青青在线观看视频国产| 亚洲第一色在线| 刘玥91精选国产在线观看| 日韩欧美精品在线| 国产一区二区波多野结衣 | 日本免费观看视| 亚洲欧美偷拍另类a∨色屁股| 国产又大又粗又爽的毛片| 26uuu色噜噜精品一区| 日批免费观看视频| 国产成人免费在线观看不卡| www.51色.com| 精品一区二区三区的国产在线播放| 无码aⅴ精品一区二区三区浪潮| 青青操综合网| 国产午夜精品一区| 激情亚洲另类图片区小说区| 国产精品久久久久久久小唯西川| 日本一区精品视频| 91精品黄色| 99久久人爽人人添人人澡| 成人h在线播放| 成人高潮视频| 国产福利久久精品| 欧美尿孔扩张虐视频| 久久av二区| 国产成人精品一区二区免费看京 | 日韩中文首页| 中国人体摄影一区二区三区| 国产精品黑丝在线播放| 四虎免费在线观看视频| 欧美黄色免费| 免费国产黄色网址| 久久久久国产精品午夜一区| 亚洲狼人综合干| 麻豆91精品视频| 特黄特黄一级片| 成人精品亚洲人成在线| 水蜜桃av无码| 国产欧美日产一区| 永久免费看片直接| 亚洲国产一区二区在线播放| 国产又色又爽又黄的| 欧美自拍偷拍午夜视频| 国产绿帽一区二区三区| 精品人在线二区三区| 亚洲av片在线观看| 综合网中文字幕| 成人在线观看免费网站| 高清视频欧美一级| 345成人影院| 91精品国产综合久久香蕉| www.成人网| 午夜视频久久久| 欧美国产91| 久草精品在线播放| 国产一区二区看久久| 免费黄色在线视频| 成人免费小视频| 日韩免费视频网站| 欧美日韩视频在线一区二区 | 国精产品一区一区三区四川| 成人h猎奇视频网站| 国产精品任我爽爆在线播放| 神马影院我不卡午夜| 欧美色一级片| 欧美日韩在线观看不卡| 不卡的看片网站| 国产白丝一区二区三区 | 激情伊人五月天| 麻豆精品国产91久久久久久| 国产精品99精品无码视亚| 久久精品水蜜桃av综合天堂| 特级片在线观看| 欧美最猛黑人xxxxx猛交| 亚洲精品18在线观看| 色一情一乱一区二区| 鲁鲁在线中文| 91免费综合在线| 国产精品亚洲成在人线| 高清av免费一区中文字幕| 青草国产精品| 国产中文字幕在线免费观看| 国产综合久久久久久久久久久久| 亚洲午夜久久久久久久久红桃| 日本91福利区| 日韩区在线观看| 免费高清一区二区三区| 91久久夜色精品国产按摩| 日韩国产一级片| 国产一区二区精品久久91| aaa一级黄色片| 国产一区二区三区网| 久久精品在线免费视频| 青青草成人在线观看| 亚洲国产欧美视频| 亚洲成人一区在线| 国产黄色一区二区| 中文字幕日韩免费视频| 88xx成人永久免费观看| 久久99国产精品99久久| 亚洲一级黄色| 日本久久久久久久久久| 亚洲综合图片区| 国产高潮在线观看| 久热精品视频在线观看一区| 日韩三级一区| 最新中文字幕久久| 国产一区二区精品久久99| 日本黄色录像视频| 欧美精品乱码久久久久久| 日本电影全部在线观看网站视频| 国产精品久久久久久亚洲调教| 国产一区二区三区四区五区| 欧美日韩在线视频一区二区三区| 亚洲香蕉av| 欧美午夜精品理论片| 国产精品久久久久一区| 亚洲一级片免费看| 精品国产一区二区在线 | 欧美中文字幕一区二区| 免费日韩中文字幕| 国产亚洲精品aa| 中文文字幕一区二区三三| 日韩在线观看免费全| 亚洲成人精品综合在线| 蜜臀av.com| 粉嫩高潮美女一区二区三区| 激情小说中文字幕| 亚洲激情在线视频| 自拍视频在线看| 日本视频精品一区| 奇米色777欧美一区二区| 任我爽在线视频| 日韩一区二区免费在线观看| 日本孕妇大胆孕交无码| 国内精品一区二区| 久久精品欧洲| 日韩福利在线视频| 欧美一级精品在线| 美女露胸视频在线观看| 色一情一乱一伦一区二区三区丨| 国模大尺度一区二区三区| 久久久久久久福利| 日韩电影免费观看中文字幕| 在线成人视屏| 99久re热视频精品98| 不卡欧美aaaaa| 中文字幕视频一区二区| 欧美乱大交xxxxx| 一区二区美女| www.久久av.com| 亚洲高清一区二区三区| 九九九伊在人线综合| 91免费欧美精品| 免费在线播放第一区高清av| 99精品中文字幕| 欧美精品一区二区三区蜜桃| 亚洲精品粉嫩美女一区| 成年在线观看视频| 国产日产欧美精品一区二区三区| 一级片aaaa| 欧美一级淫片丝袜脚交| 电影91久久久| 黄色www网站| 国产精品久久久久久久久免费丝袜| 亚洲av无码乱码国产麻豆| 日韩免费av在线| 国产精品hd| 美女100%露胸无遮挡| 亚洲国产欧美一区二区三区同亚洲|