项目从jdb8升级到了jdk11,打算使用这个长期支持版本,但是一升级就开始报错。java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
查看代码是一个解析配置文件的地方出现错误,导入数据源无法注入。
百度查了下,说是jdk9开始,引入模块的概念,se中不再包含javaEE的包导致的。这导致解析配置文件失败
推荐的方案最简单的是降级jdk到8,但这显然不符合我的需求,还有说手动加入jar的,太麻烦,最后发现只要添加几个依赖即可。
javax.xml.bind jaxb-api 2.3.0 com.sun.xml.bind jaxb-impl 2.3.0 com.sun.xml.bind jaxb-core 2.3.0 javax.activation activation 1.1.1
到这一步基本大功告成,重启项目就OK了
但同事的却死活不行,检查他的lib文件,发现没有包含这些jar,说明没有引入成功,这是IDEA的毛病了,
第一种就是看这里是不是有 fixed 之类的报错信息,点击 fixed 解决
还有种就是找到这里
将没加入的jar包pull到项目中即可