成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

新聞 前端
今天遇到了一個(gè)錯(cuò)誤,一般的錯(cuò)誤提示會(huì)很明顯,一看就知道是什么問題。今天遇到的這個(gè)說實(shí)話真的不好找原因,一般在這種情況下該怎么解決呢?

 今天遇到了一個(gè)錯(cuò)誤,一般的錯(cuò)誤提示會(huì)很明顯,一看就知道是什么問題。今天遇到的這個(gè)說實(shí)話真的不好找原因,一般在這種情況下該怎么解決呢?

分享下我的思路吧,不一定是最好的,至少有用。

直接上圖吧,下面是報(bào)錯(cuò)信息:

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

為了方便查看,我把最重要的信息提取出來,如下:

  1. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [com/cxytiandi/kitty/web/config/WebAppConfigurer.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy  

java.lang.ArrayStoreException這個(gè)確實(shí)平時(shí)很少遇到,看了下源碼,這個(gè)是數(shù)組存儲(chǔ)異常。比如下圖中我框起來的部分就清楚的表示了在什么場(chǎng)景下會(huì)出現(xiàn)這個(gè)異常。

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

也就是在存儲(chǔ)的時(shí)候類型不一致,然后就報(bào)錯(cuò)了唄!

第二個(gè)需要關(guān)注的錯(cuò)誤信息是WebAppConfigurer.class,這個(gè)還算挺明確的,告訴我哪個(gè)類有問題,然后我看了下對(duì)應(yīng)的代碼,也就手動(dòng)的映射了資源路徑而已。

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

于是我就想,是不是這里面哪個(gè)類加載的時(shí)候出問題了,我把WebAppConfigurer直接去掉了,但是并沒什么用,后面還是報(bào)的相同的錯(cuò)誤,只不過是提示另一個(gè)類了,就是WebMvcAutoConfiguration。

  1. [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Invocation of init method failed; nested exception is java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy  

所以說這些錯(cuò)誤信息沒能直接定位問題就是這個(gè)原因,我們要關(guān)注的還是java.lang.ArrayStoreException這個(gè)異常,只要找到這個(gè)異常發(fā)生的地方就能解決了。

下面只能借助于IDEA強(qiáng)大的調(diào)試功能了,增加一個(gè)Java Exception Breakpoints了。

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

然后debug模式重啟,果不其然就報(bào)錯(cuò)的時(shí)候就進(jìn)斷點(diǎn)了。

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?
必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

這下終于找到原因了,parseClassValue的時(shí)候出問題了,Class就是 org.springframework.cloud.sleuth.instrument.web.client.feign.TraceFeignClientAutoConfiguration。

這個(gè)類是我當(dāng)時(shí)在Sleuth中擴(kuò)展Sentinel對(duì)Feign支持的時(shí)候做了一些修改,沒想到居然出了Bug。

下面給大家說明下真正的原因吧,在這個(gè)擴(kuò)展模塊中sentinel的依賴是可選的,如下:

  1. <dependency>  
  2. <groupId>com.alibaba.cloud</groupId>  
  3. <artifactId>spring-cloud-alibaba-sentinel</artifactId>  
  4. <optional>true</optional>  
  5. </dependency>  

剛好報(bào)錯(cuò)的項(xiàng)目中不需要用到Sentinel,但是用到了Sleuth和Feign,所以TraceFeignClientAutoConfiguration生效了。主要還是Conditional都滿足條件了。

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

項(xiàng)目中又沒顯示指定依賴Sentinel,這個(gè)類自然加載失敗。

所以解決辦法就是要么加Sentinel依賴,要么就是在@ConditionalOnClass中加上Sentinel的類,這樣只有當(dāng)在Sentinel的類在classpath中存在的時(shí)候才會(huì)加載,如果項(xiàng)目沒依賴Sentinel那么就不加載,這樣就沒問題了。

必殺技:當(dāng)報(bào)錯(cuò)信息看不出原因時(shí),怎么辦?

最后總結(jié)下吧,主要還是要找到真正問題發(fā)生在什么地方,有的時(shí)候異常信息給出的并不一定是真正的地方,只是有關(guān)聯(lián)而已。

當(dāng)你封裝的模塊設(shè)置了optional=true的時(shí)候,在對(duì)應(yīng)的配置類加載生效也需要用@ConditionalOnClass來進(jìn)行判斷啟用,否則就會(huì)出現(xiàn)上面的問題。

 

 

責(zé)任編輯:張燕妮 來源: 猿天地發(fā)起人
相關(guān)推薦

2018-09-21 14:32:00

iPaas云應(yīng)用部署

2010-08-24 14:57:33

外企職場(chǎng)

2011-06-27 14:56:49

SEO

2024-08-09 12:11:07

2013-05-10 09:23:14

iPaaS混合云集成云集成

2021-02-02 10:55:09

等級(jí)保護(hù)2.0信息安全網(wǎng)絡(luò)安全

2009-07-22 15:02:18

2010-08-11 16:43:05

職場(chǎng)

2009-10-13 16:38:04

強(qiáng)行關(guān)閉VMware虛

2023-04-07 17:44:43

2011-06-24 17:23:30

網(wǎng)站優(yōu)化

2009-01-03 09:14:00

2009-09-28 11:16:23

UPS電源

2013-12-18 11:34:17

云文件共享服務(wù)云文件同步服務(wù)BYOD

2017-03-13 15:39:09

Windows 10進(jìn)程必殺技

2016-08-31 10:48:51

新華三

2012-05-29 10:19:41

2012-05-22 09:06:25

2020-10-10 09:05:25

信息安全手機(jī)技術(shù)

2014-07-14 10:39:37

云路由
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 亚洲69p| 亚洲视频免费在线看 | 视频在线一区 | 亚洲综合久久久 | 亚洲国产成人在线视频 | 中文字幕一级毛片 | 成人av在线播放 | 欧美精品一区免费 | 久久精品亚洲国产 | 国产国产精品 | 亚洲精品一区二区网址 | 国产成人久久精品一区二区三区 | 精品国产欧美 | 久久久久久久91 | 国产传媒在线观看 | 911影院 | 免费在线观看h片 | 久久国产日韩欧美 | 亚洲免费一区二区 | 中文字幕丁香5月 | 久久成人av电影 | 黄色一级电影免费观看 | 亚洲精品黄色 | 国产成人一区在线 | 日本精品久久久一区二区三区 | 免费视频成人国产精品网站 | 午夜精品福利视频 | 国产精彩视频 | 久久久久国产精品一区二区 | 国产精品成人久久久久 | 亚洲欧美在线观看 | 97国产在线视频 | 丁香五月网久久综合 | 久久久久久亚洲精品 | 欧美日韩综合视频 | 亚洲午夜视频 | 精品国产一区一区二区三亚瑟 | 天天草视频 | 手机在线不卡av | 日本精品视频 | 日韩中文字幕在线观看 |