項目從jdb8升級到了jdk11,打算使用這個長期支持版本,可是一升級就開始報錯。java.lang.ClassNotFoundException: javax.xml.bind.JAXBExceptionjava
查看代碼是一個解析配置文件的地方出現錯誤,導入數據源沒法注入。api
百度查了下,說是jdk9開始,引入模塊的概念,se中再也不包含javaEE的包致使的。這致使解析配置文件失敗spa
推薦的方案最簡單的是降級jdk到8,但這顯然不符合個人需求,還有說手動加入jar的,太麻煩,最後發現只要添加幾個依賴便可。code
<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-impl</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>com.sun.xml.bind</groupId> <artifactId>jaxb-core</artifactId> <version>2.3.0</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency>
到這一步基本大功告成,重啓項目就OK了xml
但同事的卻死活不行,檢查他的lib文件,發現沒有包含這些jar,說明沒有引入成功,這是IDEA的毛病了,blog
第一種就是看這裏是否是有 fixed 之類的報錯信息,點擊 fixed 解決io
還有種就是找到這裏class
將沒加入的jar包pull到項目中便可百度