Exception in thread “main“ java.lang.NoClassDefFoundError: org/mybatis/generator/api/dom/xml/Element
错误日志:

1 Exception in thread "main" java.lang.NoClassDefFoundError: org/mybatis/generator/api/dom/xml/Element
2 at java.lang.Class.forName0(Native Method)
3 at java.lang.Class.forName(Class.java:348)
4 at org.mybatis.generator.internal.ObjectFactory.internalClassForName(ObjectFactory.java:144)
5 at org.mybatis.generator.internal.ObjectFactory.createInternalObject(ObjectFactory.java:180)
6 at org.mybatis.generator.internal.ObjectFactory.createCommentGenerator(ObjectFactory.java:241)
7 at org.mybatis.generator.config.Context.getCommentGenerator(Context.java:266)
8 at org.mybatis.generator.codegen.mybatis3.model.SimpleModelGenerator.getCompilationUnits(SimpleModelGenerator.java:51)
9 at org.mybatis.generator.codegen.mybatis3.IntrospectedTableMyBatis3Impl.getGeneratedJavaFiles(IntrospectedTableMyBatis3Impl.java:181)
10 at org.mybatis.generator.config.Context.generateFiles(Context.java:460)
11 at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:262)
12 at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:132)
13 at com.weChat.MybatisStartup.GeneratorDisplay.generator(GeneratorDisplay.java:33)
14 at com.weChat.MybatisStartup.GeneratorDisplay.main(GeneratorDisplay.java:17)
15 Caused by: java.lang.ClassNotFoundException: org.mybatis.generator.api.dom.xml.Element
16 at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
17 at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
18 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
19 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
20 ... 13 more
21
原因及其解决办法:
- 错误日志中很明显的说是 mybatis 的代码自动生成依赖 generator 的 api 存在问题,查看 pom.xml 文件的依赖,发现引用是正常的,也就是说引用和使用都不可能有问题,因为我并没有直接操作 generator 的 api ,那么只可能是版本的问题了,而我的这个依赖的版本是 1.4.0 ,是目前最高的版本:

所以只有可能是我的版本太高了,下降一个版本试试,换成1.3.7的果然就好了!看来做这个不能写的太满,不然很容易给自己埋雷啊!

浙公网安备 33010602011771号