最近,使用 springboot 写项目的时候,遇到了 springboot 版本和 JDK 版本不兼容的问题:
问题再现
springboot 1.5.7 + jdk11 冲突
报错代码:
Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
解决办法
- 升级springboot版本:
- 把jdk版本降为1.8(对于很多老项目,升级springboot版本会需要修改较多的配置,相对比较麻烦,而修改jdk版本相对容易一点儿):快速修改JDK版本(另一篇博客中做了详细讲解)