欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Cannot instantiate object of type tk.mybatis.mapper.generator.MapperPlugin

程序员文章站 2022-04-28 13:28:38
...

错误:

在配置 Spring BootMybatis 的代码自动生成文件时出现了如下错误:
Cannot instantiate object of type tk.mybatis.mapper.generator.MapperPlugin

错误日志:

java.lang.RuntimeException: Cannot instantiate object of type tk.mybatis.generator.MapperPlugin
	at org.mybatis.generator.internal.ObjectFactory.createInternalObject(ObjectFactory.java:182)
	at org.mybatis.generator.internal.ObjectFactory.createPlugin(ObjectFactory.java:219)
	at org.mybatis.generator.config.Context.generateFiles(Context.java:500)
	at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:269)
	at org.mybatis.generator.api.MyBatisGenerator.generate(MyBatisGenerator.java:139)
	at com.weChat.MybatisStartup.GeneratorDisplay.generator(GeneratorDisplay.java:33)
	at com.weChat.MybatisStartup.GeneratorDisplay.main(GeneratorDisplay.java:17)
Caused by: java.lang.ClassNotFoundException: tk.mybatis.generator.MapperPlugin
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.mybatis.generator.internal.ObjectFactory.internalClassForName(ObjectFactory.java:148)
	at org.mybatis.generator.internal.ObjectFactory.createInternalObject(ObjectFactory.java:178)
	... 6 more

原因及其解决办法:

导致这种问题的原因不多,主要分为两种:

  • 在代码自动生成配置文件中的依赖引用(<plugin type="tk.mybatis.mapper.generator.MapperPlugin">)的 Type 值写的有问题(我的就是这个问题),这个值一定要对应正确,否者系统是找不到相应的文件;
  • pom.xml 文件中的依赖没有或者说没有依赖成功,如果没有对应的依赖或者没有引用成功,那么也就不可能有后续的在配置文件中的引用了,我的依赖引用的代码如下,若是在pom.xml文件中存在相应的依赖的代码的话,那就是没有依赖成功,可以查看对应的依赖包中(或者maven库中)是否有对应的jar包,如果有对应的jar包,那么就是版本的不兼容,修改 tk.mybatisgenerator的版本号,尝试几次就差不多可以了。

<!-- 我的相关本地依赖代码(另:我的Spring Boot版本是 [v2.1.5.RELEASE]的 )-->

<!-- mybatis 反向自动生成依赖 -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.7</version>
</dependency>

<!-- https://mvnrepository.com/artifact/tk.mybatis/mapper -->
<dependency>
    <groupId>tk.mybatis</groupId>
    <artifactId>mapper</artifactId>
    <version>4.1.5</version>
</dependency>


-END>