java.lang.NoClassDefFoundError: java/sql/SQLException,java.lang.ClassNotFoundException: java.sql.SQL

Hi' I'm Shendi

最近用Mybatis,程序启动出现了如下错误(普通Java项目)

java.lang.NoClassDefFoundError: java/sql/SQLException,java.lang.ClassNotFoundException: java.sql.SQL

 

刚开始以为自己写的工具包的问题,后来找到了是Mybatis的问题,在执行build方法出错

java.lang.NoClassDefFoundError: java/sql/SQLException,java.lang.ClassNotFoundException: java.sql.SQL

之前用 fastjson 也出现此问题,以至于自己手解json

错误提示大概都是说这个类的问题: java.sql.SQLException

然后仔细校验 是否是 sql的xml文件写错了

然后发现都不是,我就在IDE里看看有没有这个类的提示

java.lang.NoClassDefFoundError: java/sql/SQLException,java.lang.ClassNotFoundException: java.sql.SQL

然后发现此包里的所有东西都没有弹出提示

于是找到问题

 

因为我使用的Java版本高于Java 9,并且有module-info.java

也就是使用了模块化

于是在 module-info.java引入java.sql包解决问题.

java.lang.NoClassDefFoundError: java/sql/SQLException,java.lang.ClassNotFoundException: java.sql.SQL