Cannot instantiate object of type tk.mybatis.mapper.generator.MapperPlugin
程序员文章站
2022-04-28 13:28:38
...
错误:
在配置 Spring Boot 的 Mybatis 的代码自动生成文件时出现了如下错误:
错误日志:
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.mybatis 和 generator的版本号,尝试几次就差不多可以了。
<!-- 我的相关本地依赖代码(另:我的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>
上一篇: 共同特征测试
下一篇: Webservice远程调用二
推荐阅读
-
PHP错误Cannot use object of type stdClass as array in错误的解决办法
-
PHP错误Cannot use object of type stdClass as array in错误的解决办法
-
PHP错误Cannot use object of type stdClass as array in错误的解决办法
-
PHP JSON出错:Cannot use object of type stdClass as array解决方法
-
TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type s
-
TypeError: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type s
-
MyBatis Generator报错:Cannot instantiate object of type(问题解决)
-
PHP“Cannot use object of type stdClass as array”
-
PHP Fatal error: Cannot use object of type stdClass as array in错误_PHP教程
-
PHP JSON出错:Cannot use object of type stdClass as array解决方法,jsonstdclass_PHP教程