啟動異常invalid constant type:15的解決方案
最近一個項目測試的時候,需要進行多個tomcat集群測試。 我本地用了一個新的tomcat, 然后把項目打好的war包扔到tomcat里面進行運行。 啟動時出現一個異常:java.io.IOException: invalid constant type: 15 。
項目啟動環(huán)境:jdk1.8 、tomcat8
網上查閱資料,說是引用dubbo 2.8版本時,自動引用了javassist 3.15.0版本。 導致和jdk的javassist沖突。 查看maven 的pom.xml文件,有引入javassist 3.21.0版本。 但是并沒有3.15.0版本。
解決步驟:
一、輸出maven依賴的樹,并輸出日志到指定文件
然后在項目的pom.xml文件目錄,打開CMD 環(huán)境, 執(zhí)行命令 mvn dependency:tree>2.txt

二、查看2.txt文件,看到項目所有的jar的依賴樹。
里面就包括了dubbo里面引用了javassist 3.15.0 具體操作如下圖:

然后就到依賴dubbo的maven配置那里,排除javassist的依賴。 具體如下:
<dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.8.4</version> <exclusions> <exclusion><artifactId>javassist</artifactId><groupId>org.javassist</groupId></exclusion> </exclusions> </dependency>
這里大家自己的格式是什么樣的就自己格式化一下。然后重新編譯,更新下maven。 問題解決。(其他jar依賴沖突的問題也可以這樣分析解決)
如果這樣配置了還沒解決。去看下2.txt文件還有沒有其他關于javassist的依賴。一并去除。 另外就是找到你所依賴的項目的本地倉庫,找到依賴項目的版本,清除,重新install。 解決!
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
Spring Boot定制type Formatters實例詳解
在本篇文章里小編給大家整理的是關于Spring Boot定制type Formatters實例知識點,需要的朋友們學習下。2019-11-11
springboot整合websocket后啟動報錯(javax.websocket.server.ServerCont
這篇文章主要介紹了springboot整合websocket后啟動報錯(javax.websocket.server.ServerContainer not available),通過分析錯誤信息、排查代碼和配置,找出問題的根源,并給出相應的解決方案,感興趣的可以了解一下2024-01-01

